0

这可能吗?

当一个类型被传递给一个方法时,我想实例化泛型类 myClass

public class myClass<T>
{

}

public void PassInType(Type myType)
{

myClass<myType> c=new myClass<myType>();
}

更新:

好的,因为那不可能,我该怎么做

public myMethod(string myType)
{

myClass<myType> c=new myClass<myType>();

}
4

1 回答 1

5

不; 这基本上是不可能的。

泛型的全部意义在于它们创建了编译时类型。
您正在尝试创建一个在编译时未知的类型。

不过,您可以使用反射来做到这一点。( typeof(MyClass<>).MakeGenericType(myType))

于 2012-12-05T22:30:51.377 回答