动态实例化一个类,比较常见,代码如下
namespace ConsoleApp2
{
public class MyClass
{
}
}
Type classType = Type.GetType("ConsoleApp2.MyClass, AssemblyName");
var instance = Activator.CreateInstance(classType);
那如果这个类是泛型类,该如何实例化呢? 这里主要是要传递泛型参数
namespace ConsoleApp2
{
public class MyGenericClass<T>
{
}
}
Type classType = Type.GetType("ConsoleApp2.MyGenericClass`1, AssemblyName");
Type constructedType = classType.MakeGenericType(typeof(T));
var instance = Activator.CreateInstance(constructedType);