What is the difference?
Using Delegate
public delegate void TestDelegate();
public TestDelegate delObj = SomeMethod;
public void S
It works exactly same. If you use
public event EventHandler SomeEvent;
the C# compiler does (simplified code):
private EventHandler SomeEventField;
public void add_SomeEvent( EventHandler handler) {
this.SomeEventField = (EventHandler)Delegate.Combine(this.SomeEvent, handler);
}
public void remove_SomeEvent( EventHandler ) {
this.SomeEventField = (EventHandler)Delegate.Remove(this.SomeEvent, handler);
}
The method add_SomeEvent is called when you use SomeEvent += ... and the remove_SomeEvent is called when you use SomeEvent -= ....
However in both cases there are used same delegates.