Removendo manipuladores de events

É isto:

Button.Click -= new EventHandler(Button_Click); 

o mesmo que isso:

 Button.Click -= Button_Click; 

Eu pergunto porque para mim parece que o primeiro está removendo uma nova referência a um método, e o último está removendo um método em si. Mas, novamente, talvez a nova parte do EventHandler esteja implícita na sobrecarga + = ou – = no caso de o programador não atribuí-la explicitamente dessa forma?

Caso seja diferente, e quanto a

 Button.Click -= new EventHandler(Button_Click); 

VS

 Button.Click -= Button_Click; 

Obrigado.

É o mesmo. O segundo é meramente açúcar sintático para o primeiro, e a comparação de igualdade é sobrecarregada apropriadamente para os tipos delegates:

Dois representantes do mesmo tipo com os mesmos destinos, methods e listas de invocação são considerados iguais.

Fonte: MSDN, Operador Delegate.Equality

O resultado final é o mesmo. O compilador está inferindo o tipo de delegado automaticamente e, como resultado, o novo operador não precisa criá-lo.