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