将Generic Type传递给方法

dev*_*747 0 c# generics

这可能吗?

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

public class myClass<T>
{

}

public void PassInType(Type myType)
{

myClass<myType> c=new myClass<myType>();
}
Run Code Online (Sandbox Code Playgroud)

更新:

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

public myMethod(string myType)
{

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

}
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 5

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

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

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