使用运行时已知的数据类型实例化通用referance类

时间:2015-06-10 04:26:14

标签: c# class generics reflection

我在C#中有一个泛型类,它有2个数据类型public class ResolvedChainSubscriber < K, V>,现在我必须创建这个类的实例,但其中一个参数的数据类型只能在运行时知道。我把它存储为Type Prototype

public static Object SubsciberTopic(Type ProtoType)
{
    Type[] type={Type.GetType("System.String"),ProtoType};
    Type resolve = typeof(ResolvedChainSubscriber <,>).MakeGenericType(type); 
    Object obj1=Activator.CreateInstance(resolve);              
}

然而,我得到了例外

  

MissingMethodException:没有为此对象定义的无参数构造函数

请注意,类ResolvedChainSubscriber是一个引用类..因此我无法编辑它来添加函数或构造函数

1 个答案:

答案 0 :(得分:0)

ResolvedChainSubscriber是否有任何公共构造函数?尝试使用Activator.CreateInstance overload来获取现有公共构造函数的参数。