我想要一个包含泛型类型参数的对象的列表。这可能吗? 我不能这样做,因为在包含类中不知道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.