是否可以创建包含不同类型的委托的列表?
例如考虑这两个代表:
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/