は、次のクラスを考えてみましょう:どのように具体的なインスタンスなしタイプの静的プロパティの値を取得するためにリフレクションを使用することができます
public class AClass : ISomeInterface
{
public static int AProperty
{
get { return 100; }
}
}
次のように私はその後、別のクラスを持っている:
public class AnotherClass<T>
where T : ISomeInterface
{
}
どのインスタンスを介して私は:
どのように私のgenericClass内からAClass.APropertyの静的な値を取得できますかAClassの具体的なインスタンスを持たないで?
typeof(AClass).GetProperty("AProperty").GetValue(null, null)
ような何かを行います
グレートたいフラグを結合していることを確認してください。私が今発見した唯一の問題は、インタフェースで静的プロパティを定義することができないことです。私は、静的でないプロパティと同じ値を返す静的なプロパティを追加することができたと思います.1つはインスタンスを使用し、もう1つはその型を参照していますか?それとも別の方法がありますか? –
また、私は新しいT()を使って非静的なプロパティを取得することもできます。AProperty、これは悪い習慣のようです。どう思いますか? –
@Stewart:新しい 'T'を作るのは高価かもしれません。インターフェイスに静的なものは含まれていないのは残念です。 – Vlad