【发布时间】:2011-06-21 10:16:53
【问题描述】:
我有一个等待事件发生的类。
我正在使用反射将事件处理程序连接到对象,如下所示:
public EventMonitor(object eventObject, string eventName)
{
_eventObject = eventObject;
_waitEvent = eventObject.GetType().GetEvent(eventName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic );
_handler = new EventHandler(SetEvent);
_waitEvent.AddEventHandler(eventObject, _handler);
}
这一切都很好,除了我有一个不公开的事件(它是内部的并且通过 InternalsVisibleToAttribute 暴露给这个测试程序集)。
AddEventHandler 调用失败并显示“无法添加事件处理程序,因为该事件不存在公共添加方法。”
有没有我可以使用的解决方法?
【问题讨论】:
标签: c# .net reflection