動態例項化一個類,比較常見,程式碼如下
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);