Removing event handlers
c#, delegates, events
Solution
It is the same. The second is merely syntactic sugar for the first, and equality comparison is overloaded appropriately for delegate types:
Two delegates of the same type with the same targets, methods, and invocation lists are considered equal.
Source: MSDN, Delegate.Equality Operator
Problem
Is this: ``` Button.Click -= new EventHandler(Button_Click); ``` the same as this: ``` Button.Click -= Button_Click; ``` I ask because to me it seems that the former is removing a new reference to a method, and the latter one is removing a method itself. But then again, maybe the new EventHandler part is implicit in the += or -= overload in case the programmer doesn't explicitly assign it like that? In case it is different how about ``` Button.Click -= new EventHandler(Button_Click); ``` VS ``` Button.Click -= Button_Click; ``` Thanks.