C'è un problema se mi iscrivo allo stesso evento tre volte con eventHandler? ad es.C# evento iscriversi e annullare l'iscrizione di duplicati
a.SomethingChanged += new EventHandler(ChangeHandler);
a.SomethingChanged += new EventHandler(ChangeHandler);
a.SomethingChanged += new EventHandler(ChangeHandler);
Fa sì che ChangeHandler venga richiamato 3 volte anziché 1? Qual è il modo migliore per gestire questo?
Si noti che queste ridondanze non sono insieme, ma aree diverse di percorsi di codice.
Similari, c'è un problema con l'annullamento dell'iscrizione da un evento che non è registrato? ad es.
a.SomethingChanged -= new EventHandler(ChangeHandler); //ChangeHandler was never registered
Vedere questa domanda: http://stackoverflow.com/questions/817592/avoid-duplicate-event-subscriptions-in-c-sharp, in pratica, sì, ma è possibile evitarlo. – Sean
provalo e guarda cosa succede! Sono curioso però, qual è l'idea che sta dietro ad avere percorsi di esecuzione esclusivi quando lo stesso risultato è incluso in ognuno di essi? –
quindi in pratica non vi è alcun effetto collaterale di annullamento dell'iscrizione (- =) se non è già registrato. Corretta? – user236215