我是泛型的新手,并且一直在试图弄清楚如何从工厂返回一个基类是通用类的实例.请参阅下面的示例代码 这些问题在工厂类中突出显示:
public abstract class MyGenericBaseClass<T>
{
public string Foo()
{...}
}
public sealed class MyDerivedIntClass : MyGenericBaseClass<int>
{
}
public sealed class MyDerivedStringClass : MyGenericBaseClass<string>
{
}
public static class MyClassFactory
{
public static MyGenericBaseClass<T> CreateMyClass<T>()
{
// **********************************************
if (typeof(T) == typeof(int))
{
return new MyDerivedIntClass();
}
if (typeof(T) == typeof(string))
{
return new MyDerivedStringClass();
}
// **********************************************
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么绕过这个?
非常感谢提前
Ohgee