クラスの静的(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の配列とかがほしいときがありますよね。