クラスの静的(static)インスタンスをリフレクションで取得する方法

 MSDNを探していたらあった。なんだNullを渡すのか。メソッド用意してほしいなあ。

静的プロパティは個別のオブジェクトではなく型に属するため、静的プロパティを取得するには、オブジェクト引数として null 参照 (Nothing) を渡します。たとえば、次のコードを使用すると、CultureInfo の静的な CurrentCulture プロパティを取得できます。

PropertyInfo CurCultProp = (typeof(CultureInfo)).GetProperty("CurrentCulture"); 

Console.WriteLine("CurrCult: " + CurCultProp.GetValue(null,null)); 

 何がうれしいのかというと、タイプコードをリストで返せるわけです。

public class HogeCode{
  static HogeCode ModeA;
  static HogeCode ModeB;
  static HogeCode ModeC;
}

 とかで、HogeCodeの配列とかがほしいときがありますよね。