是否可以创建包含不同类型的委托的列表?
例如考虑这两个代表:

class MyEventArg1 : EventArgs {}
class MyEventArg2 : EventArgs {}

EventHandler<MyEventArgs1> handler1;
EventHandler<MyEventArgs2> handler2;


我想做这样的事情:

List<EventHandler<EventArgs>> handlers = new List<EventHandler<EventArgs>>();

handlers.Add((EventHandler<EventArgs>)handler1);
handlers.Add((EventHandler<EventArgs>)handler2);


但是,似乎不可能从一位代表到另一位代表。
我的目标是将代表存储在列表中,而不要调用它们。但只是要自动注销它们。

谢谢

最佳答案

借助generics variance,您将能够在C#4.0中执行此操作,但是在此之前,您需要找到其他方式(也许是ArrayList)。

关于c# - 代表异类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2123984/

10-11 23:59