EventHandler和KeyEventHandler是否共享共同的祖先或接口?我看过文档,也许我只是错过了它,但它们看起来完全不相干。
假设它们之间没有这样的共同链接,那么存储许多EventHandlers 和 KeyEventHandlers的集合的最佳方法是什么?
答案 0 :(得分:0)
KeyEventHandler和EventHandler都是委托。此代码有效:
public void DelegateTest()
{
var delList = new List<Delegate>();
delList.Add(new KeyEventHandler(SomeFunction));
delList.Add(new EventHandler(SomeFunction));
foreach (var element in delList)
element.DynamicInvoke(null, null);
}
public void SomeFunction(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine("Got called!");
}
致电DelegateTest()
会写上“有人来电!”两次输出。