Si estoy asignando un controlador de eventos en tiempo de ejecución y está en un lugar que se puede llamar varias veces, ¿cuál es la práctica recomendada para evitar asignaciones múltiples del mismo controlador para el mismo evento.Prevención de la misma asignación de controlador de eventos varias veces
object.Event += MyFunction
Agregar esto en un lugar que se llamará más de una vez ejecutará el controlador 'n' veces (por supuesto).
he recurrido a la eliminación de cualquier controlador anterior antes de intentar añadir través
object.Event -= MyFunction;
object.Event += MyFunction;
Esto funciona, pero parece fuera de alguna manera. Cualquier sugerencia sobre el manejo adecuado;) de este escenario.
Su solución de eliminar el evento primero y luego agregar es en realidad una respuesta de alta calificación para http://stackoverflow.com/questions/937181/c-sharp-pattern-to-prevent-an-event-handler-hooked- dos veces (esta cuestión también tiene más respuestas a este tema) – OneWorld
posible duplicado de [Cómo garantizar un evento sólo está suscrito a una vez] (http://stackoverflow.com/questions/367523/how-to-ensure-an-event -is-only-suscrito a la vez) –