次のクラスを検討してください
class A<T> where T:new()
{
public static T Instance = new T();
A()
{
}
}
2つの質問があります
Instance
Reflection付きのオブジェクトが必要です。私はフォローしてみましたvar type = typeof(A<int>); // var type = typeof(A<>).MakeGenericType(typeof(int)); // Also tried this var instanceMember1 = type.GetMember("Instance", BindingFlags.Static ); // returns null var instanceMember2 = type.GetField("Instance", BindingFlags.Static ); // returns null
Instance
また、プロパティに変更して呼び出しようGetProperty
としましたが、成功しませんでした。new()
制約を削除してconstructor
プライベートにした後、リフレクションを介してプライベート(パラメーターなし)コンストラクターを呼び出す方法。