読者です 読者をやめる 読者になる 読者になる

いろいろ備忘録日記

主に .NET 絡みのメモを公開しています。

拡張メソッドって値がnullの場合でも実行可能 (C#3.0, Extension Method)

C#


ものすごく遅いですが、みなさま明けましておめでとうございますm(_ _)m
昨年の暮れごろから、仕事やプライベートが鬼のような状態になってまして
全然更新できてませんでした・・・。


また、気を改めてちょこちょこメモッっていこうかなって感じです。


で、いきなり本題なんですが、件名の事を今日知りました・・。
なんと、拡張メソッドって値がnullの場合でも呼べるんですね。

以下、サンプルです。

#region ExtensionMethod-01

    public static class ExtensionMethodSample01_ExtClass{
        public static void PrintMyName(this string self){
            Console.WriteLine(self == null);
            Console.WriteLine("GSF-ZERO1.");
        }
    }

    public class ExtensionMethodSample01 : IExecutable{

        public void Execute(){
            string s = null;
            s.PrintMyName();
        }
    }

#endregion

上記のようなサンプルをつくって実行してみると、ヌルポが発生せずに

true
GSF-ZERO1.

って表示されます。