find out whether event handler is registered
Published: 30. November 2011 | Updated: 30. November 2011License: Microsoft Public License (MS-PL)
Categories: Framework » Events
Tags: C# Events
Event
public event EventHandler MyEvent;
Method
public bool IsRegistered(Delegate handler) { return MyEvent != null && MyEvent.GetInvocationList().Contains(handler); }
Using
var obj = new MyClass(); Console.WriteLine(obj.IsRegistered((EventHandler)MyEventHandler)); obj.MyEvent += MyEventHandler; Console.WriteLine(obj.IsRegistered((EventHandler)MyEventHandler)); obj.MyEvent -= MyEventHandler; Console.WriteLine(obj.IsRegistered((EventHandler)MyEventHandler));
Event handler
private static void MyEventHandler(object sender, EventArgs e) { }Console Output:
False
True
False
True
False
| Send us feedback about this snippet » |





