我有以下代码试图在运行时附加通用事件处理程序:
EventInfo info = source.GetType().GetEvent("EventWithArgsInheritingFromEventArg");
info.AddEventHandler(source, new EventHandler((obj, args) => DoSomething()));
当我尝试这样做时,我得到以下异常:
“System.EventHandler”类型的对象无法转换为“System.Windows.Controls.DataGridSortingEventHandler”类型。
我的理解是带有签名的方法(对象发送者,EventArgs e)可以处理任何带有从 EventArgs 继承的参数的事件,对吗?
我的方法有什么问题?
谢谢
编辑:这有什么不同吗?会不会发生 DaraGridSortingEventHandler 没有从 EventHandler 继承???