C #: Diferencia entre ‘+ = anEvent’ y ‘+ = new EventHandler (anEvent)’

Tome el siguiente código:

private void anEvent(object sender, EventArgs e) { //some code } 

¿Cuál es la diferencia entre lo siguiente?

 [object].[event] += anEvent; //and [object].[event] += new EventHandler(anEvent); 

[ACTUALIZAR]

Aparentemente, no hay diferencia entre los dos … el primero es solo azúcar sintáctico de este último.

No hay diferencia. En su primer ejemplo, el comstackdor deducirá automáticamente el delegado que le gustaría crear una instancia. En el segundo ejemplo, define explícitamente al delegado.

La inferencia del delegado se agregó en C # 2.0. Entonces, para los proyectos C # 1.0, el segundo ejemplo fue su única opción. Para los proyectos 2.0, el primer ejemplo que utiliza la inferencia es lo que preferiría usar y ver en la base de código, ya que es más conciso.

 [object].[event] += anEvent; 

es solo azúcar sintáctico para –

 [object].[event] += new EventHandler(anEvent); 

No creo que haya una diferencia. El comstackdor transforma el primero en el segundo.