As we all know, we can create an EventHandler and add methods to it N number of times. Like:
// Declare and EventHandler
public event EventHandler
To find the number of event handlers, you can use this code:
InternetConnectionAvailableEvent.GetInvocationList().Length;
The following code demonstrates that MyEvent -= null does not clear the list of handlers.
public static event EventHandler MyEvent;
[STAThread]
static void Main()
{
MyEvent += (s,dea) => 1.ToString();
MyEvent -= null;
Console.WriteLine(MyEvent.GetInvocationList().Length);
// Prints 1
MyEvent = null;
Console.WriteLine(MyEvent == null);
// Prints true
}
To clear the list (which is probably never a good idea), you can set the event to null (as long as you are in the class that declared the event).