Una cosa que me preocupa es que descubrí dos formas de registrar delegados a eventos.¿Es seguro agregar delegados a eventos con la palabra clave new?
- OnStuff + = this.Handle;
- OnStuff + = new StuffEventHandler (this.Handle);
El primero es limpio, y tiene sentido hacer "OnStuff - = this.Handle;" para cancelar el registro del evento ... Pero en este último caso, ¿debería hacer "OnStuff - = new StuffEventHandler (this.Handle);"? Parece que no estoy eliminando nada, ya que incluyo otra referencia de StuffEventHandler. ¿El evento compara al delegado por referencia? Me preocupa que pueda comenzar un grupo de memoria desagradable aquí. ¿Consígueme? No tengo la referencia al "nuevo StuffEventHandler" que previamente registré.
¿Cuál es la desventaja de hacer # 1?
¿Cuál es el beneficio de hacer # 2?
discusiones relacionada en: http://stackoverflow.com/questions/1341895/c-event-removal-syntax y http://stackoverflow.com/questions/1178725/how-to-unset-event – JeffH