c# 动态实例化一个泛型类

2018-07-05 12:21:14 浏览数 (1)

动态实例化一个类,比较常见,代码如下

代码语言:javascript复制
namespace ConsoleApp2
{
    public class MyClass
    {

    }
}
代码语言:javascript复制
Type classType = Type.GetType("ConsoleApp2.MyClass, AssemblyName");
var instance =  Activator.CreateInstance(classType);

那如果这个类是泛型类,该如何实例化呢?  这里主要是要传递泛型参数

代码语言:javascript复制
namespace ConsoleApp2
{
    public class MyGenericClass<T>
    {

    }
}
代码语言:javascript复制
Type classType = Type.GetType("ConsoleApp2.MyGenericClass`1, AssemblyName");
Type constructedType = classType.MakeGenericType(typeof(T));
var instance = Activator.CreateInstance(constructedType);

0 人点赞