EventHandler 和 KeyEventHandler 之间的公共 ancestor/interface?
Common ancestor/interface between EventHandler and KeyEventHandler?
是否有 EventHandler 和 KeyEventHandler 共享的共同祖先或接口?我查看了文档,也许我只是错过了它,但它们似乎完全不相交。
假设它们之间没有这种共同点link,那么存储许多 EventHandlers 和 KeyEventHandlers 的集合的最佳方法是什么?
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()
将在输出中写入 "Got called!" 两次。
是否有 EventHandler 和 KeyEventHandler 共享的共同祖先或接口?我查看了文档,也许我只是错过了它,但它们似乎完全不相交。
假设它们之间没有这种共同点link,那么存储许多 EventHandlers 和 KeyEventHandlers 的集合的最佳方法是什么?
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()
将在输出中写入 "Got called!" 两次。