【发布时间】:2010-11-10 21:35:45
【问题描述】:
我希望能够查明某个事件是否已连接。我环顾四周,但只找到了涉及修改包含事件的对象内部的解决方案。我不想这样做。
这是一些我认为可行的测试代码:
// Create a new event handler that takes in the function I want to execute when the event fires
EventHandler myEventHandler = new EventHandler(myObject_SomeEvent);
// Get "p1" number events that got hooked up to myEventHandler
int p1 = myEventHandler.GetInvocationList().Length;
// Now actually hook an event up
myObject.SomeEvent += m_myEventHandler;
// Re check "p2" number of events hooked up to myEventHandler
int p2 = myEventHandler.GetInvocationList().Length;
请注意以上内容是完全错误的。我认为当我将事件挂钩时,myEventHandler 中的“invocationList”会以某种方式自动更新。但不,事实并非如此。 this 的长度总是返回为一。
是否可以从包含事件的对象外部确定这一点?
【问题讨论】:
标签: c# hook event-handling