Я хочу узнать, подключено ли событие или нет. Я огляделся, но я нашел решения, которые включали модификацию внутренних объектов объекта, который содержит событие. Я не хочу этого делать.
Вот несколько тестовых кодов, которые, как я думал, будут работать:
// 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;
Неужели это неправильно. Я подумал, что каким-то образом "invocationList" в myEventHandler автоматически обновится, когда я подключу к нему событие. Но нет, это не так. Длина этого всегда возвращается как одна.
Есть ли способ определить это извне объекта, который содержит событие?