私は少し複雑に見えるかもしれませんが、私の状況では非常に役立つだろう何かを達成しようとしています、このようなものに見えます。
public class CommonBaseClass {}
public class Type1Object : CommonBaseClass {}
public class Type2Object : CommonBaseClass {}
public class Type3Object : CommonBaseClass {}
public static Dictionary<string, Type> DataTypes = new Dictionary<string, Type>()
{
{ "type1" , typeof(Type1Object) },
{ "type2" , typeof(Type2Object) },
{ "type3" , typeof(Type3Object) }
};
public static CommonBaseClass GetGenericObject(string type)
{
return new DataTypes[type](); //How to instantiate generic class?
}
すべてのコンストラクターが同じ署名を持っていることを保証できるので、これが機能することはわかっていますが、コンパイラーに通知する方法がわかりません。
前もって感謝します