new example eventos event ejemplo delegate custom and c# delegates event-handling

example - C#: Diferencia entre ''+=anEvent'' y ''+=new EventHandler(anEvent)''



eventhandler c# ejemplo (3)

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 creo que haya una diferencia. El compilador transforma el primero en el segundo.


No hay diferencia. En su primer ejemplo, el compilador 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);