Tengo un botón de comando en un formulario de win. Por lo tanto, si tengo algo como:¿Cómo puedo saber si un delegado en particular ya ha sido asignado a un evento?
myButton.Click += MyHandler1;
myButton.Click += MyHandler2;
myButton.Click += MyHandler3;
¿Cómo puedo saber si alguno MyHandler particular, ya ha sido añadido al evento Click para que no se añadan de nuevo en otro lugar en mi código?
He leído cómo puede utilizar GetInvocationList() para la información de su propio evento. Pero recibo errores cuando trato de obtener los elementos para mi botón de comando usando varias combinaciones. Dice,
"El evento 'System.Windows.Forms.Control.Click' puede aparecer sólo en el lado izquierdo de + = o -. ="
¿Qué me falta?
[Editar] - Me gustaría acentuar this question que Ahmad señaló. Es un desafío y debería ser más fácil en mi humilde opinión, pero parece que podría funcionar.
No puede. Lo mejor que puede hacer es 'myButton.Click - = MyHandler1' antes de agregarlo. – slugster
posible duplicado de [Determinar la lista de controladores de eventos vinculados al evento] (http://stackoverflow.com/questions/660480/determine-list-of-event-handlers-bound-to-event) –
@Ahmad - Buen ojo. ¡Seguramente no hubiera visto ese! Sin embargo, para mayor claridad, creo que mi pregunta aún es válida. – IAmAN00B