Ho un'interfaccia che dichiara eventiCodice regola analisi CA1040: Evitare interfacce vuote, si lamenta su un'interfaccia non vuoto
interface IMyInterface
{
event SomeHandler MyEvent1;
event SomeHandler MyEvent2;
...
}
ma quando ho attivare la regola di analisi codice CA1040: Evitare interfacce vuote, si lamenta che la mia interfaccia viola questa regola, qualche idea su come risolverlo?
Basta sopprimere l'avviso? È chiaramente spurio. –
Preferisco sopprimere solo quando ho una vera ragione, in questo caso il motivo sarebbe che la regola non funziona correttamente –
Strano se considera l'interfaccia vuota. La dichiarazione 'event' è un requisito che la classe/struct di implementazione deve avere en' event' con quel tipo ('SomeHandler') che contiene entrambi gli accessors' add' e 'remove'. I due accessor possono essere "impliciti" se l'implementatore sceglie di utilizzare un "evento tipo campo". Funziona solo con gli indicizzatori, ad esempio se l'unico membro di 'IMyInterface' è' string this [int idx] {get; } '? –