将Generic Type传递给方法

时间:2012-12-05 22:29:00

标签: c# generics

这可能吗?

当一个类型被传递给一个方法时,我想实例化泛型类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>();

}

1 个答案:

答案 0 :(得分:5)

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

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

但是你可以使用反射来做到这一点。 (typeof(MyClass<>).MakeGenericType(myType)