Quando si utilizza myDelegate -= eventHandler
ReSharper (versione 6) problemi:"La sottrazione del delegato ha un risultato imprevedibile" in ReSharper/C#?
Delegato sottrazione ha risultato imprevedibile
Il razionale dietro questo è explained by JetBrains here. La spiegazione ha senso e, dopo averlo letto, dubito di tutti i miei usi di -
sui delegati.
Come dunque,
- posso scrivere un evento non-auto senza fare ReSharper scontroso?
- o, c'è un modo migliore e/o "corretto" per implementare questo?
- oppure, posso semplicemente ignorare ReSharper? Codice
Qui è semplificato:
public delegate void MyHandler (object sender);
MyHandler _myEvent;
public event MyHandler MyEvent
{
add
{
_myEvent += value;
DoSomethingElse();
}
remove
{
_myEvent -= value; // <-- ReSharper warning here
}
}
Mono dà lo stesso avviso. Ecco la descrizione di R # del problema https://confluence.jetbrains.com/display/ReSharper/Delegate+subtraction+has+unpredictable+semantics (che si applica solo agli elenchi di delegati) – thoredge