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!" 两次。