2
我有一個等待事件發生的類。替代EventInfo.AddEventHandler的非公開事件
我用反射到事件處理程序連接到該對象,像這樣:
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調用失敗,並顯示「無法添加事件處理程序,因爲該事件不存在公共添加方法。」
有沒有可以使用的解決方法?