【发布时间】:2010-09-23 23:43:03
【问题描述】:
我需要从当前类中获取所有事件,并找出订阅它的方法。 Here I got some answers on how to do that,但是当我只有EventInfo 时,我不知道如何获得delegate。
var events = GetType().GetEvents();
foreach (var e in events)
{
Delegate d = e./*GetDelegateFromThisEventInfo()*/;
var methods = d.GetInvocationList();
}
是否可以使用EventInfo 获得代表?怎么样?
【问题讨论】:
-
引用您上一个问题的最高投票答案:“现在我想您可以尝试找到“添加”处理程序的主体,反编译并计算出事件处理程序的存储方式,然后以这种方式获取它们...但请不要。您正在创建大量工作,只是为了打破封装。只需重新设计您的代码,以便您不需要这样做。”我完全同意。
标签: c# .net reflection