Je veux être en mesure de savoir si un événement est branché ou non. J'ai regardé autour, mais j'ai seulement trouvé des solutions qui a impliqué la modification de la structure interne de l'objet qui contient l'événement. Je ne veux pas faire ça.
Voici un code de test que j'ai pensé serait de travailler:
// 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;
Unfort ci-dessus est tout à fait tort. Je pensais qu'en quelque sorte les "invocationList" dans myEventHandler serait automatiquement mise à jour lorsque j'ai accroché un événement à elle. Mais non, ce n'est pas le cas. La longueur de cette revient toujours comme un.
Est-il de toute façon à déterminer ce à partir de l'extérieur de l'objet qui contient l'événement?