实例化具有运行时已知数据类型的泛型引用类

本文关键字:泛型 引用 数据类型 运行时 实例化 | 更新日期: 2023-09-27 17:55:08

我在 C# 中有一个泛型类,它public class ResolvedChainSubscriber < K, V>有 2 种数据类型,现在我必须创建此类的实例,但其中一个参数的数据类型只有在运行时才知道。我将其存储为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);              
}

但是,我得到了例外

Missing MethodException: 没有为此对象定义无参数构造函数

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

实例化具有运行时已知数据类型的泛型引用类

ResolvedChainSubscriber有任何公共构造函数吗?尝试使用Activator.CreateInstance为现有公共构造函数获取参数的重载。