2015-02-23 90 views
0

EventHandler和KeyEventHandler共享有共同的祖先或接口吗?我看过文档,也许我只是想念它,但它们看起来完全不相关。EventHandler和KeyEventHandler之间的共同祖先/接口?

假设它们之间没有这样的公共链接,那么存储多个EventHandlers集合的最佳方式是什么? KeyEventHandlers?

+1

代表们不支持任何方式来做到这一点。 – SLaks 2015-02-23 20:44:30

回答

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()将写入“Got called!”两次输出。

+0

谢谢!这是我目前正在做的,我只是想确定没有更合适的方法。 – elead1 2015-02-25 14:13:05