未知泛型类型列表或调用泛型子类

时间:2017-11-16 15:00:24

标签: c# generics

我想要一个包含泛型类型参数的对象的列表。这可能吗? 我不能这样做,因为在包含类中不知道T:

private List<GenericClass<T>> list = new List<GenericClass<T>>();

所以我尝试创建一个抽象基类列表,但是我无法调用使用泛型参数的方法:

private List<BaseGenericClass> list = new List<BaseGenericClass>();

void DoSomething(string data)
{
    var baseGeneric = list.First();
    baseGeneric.SomeGenericMethod<T>(data); //<- SomeGenericMethod isn't known in the base class
}

我没有看到将其强制转换为子类以便能够使用该方法的方法。没有反思,这样的事情是否可能?如果反思是唯一的选择,那对性能的影响是什么?

由于

修改 用例是我有一个websocket连接,可以发送给我不同的事件。事先我可以为不同的事件订阅不同的事件处理程序。这些事件是json对象,我根据事件类型反序列化为不同的对象。我想为这些事件处理程序提供特定类型的事件抛出; T.

0 个答案:

没有答案