ich eine Schnittstelle haben, die Ereignisse-Code-Analyse-Regel CA1040: Vermeiden Sie leere Schnittstellen, beschwert sich über eine nicht leere Schnittstelle
interface IMyInterface
{
event SomeHandler MyEvent1;
event SomeHandler MyEvent2;
...
}
erklärt aber, wenn ich den Code Analyseregel CA1040 ermöglichen: Vermeiden Sie leere Schnittstellen, es klagt dass meine Schnittstelle diese Regel verletzt, irgendwelche Ideen, wie man es löst?
Nur die Warnung unterdrücken? Es ist eindeutig falsch. –
Ich ziehe es vor, nur zu unterdrücken, wenn ich einen echten Grund habe, in diesem Fall wäre der Grund, dass die Regel nicht richtig funktioniert –
Seltsam, wenn es die Schnittstelle als leer betrachtet. Die 'Event' Deklaration ist eine Voraussetzung, dass die implementierende Klasse/Struktur ein' Ereignis' mit diesem Typ ('SomeHandler') haben muss, das sowohl' add' als auch 'remove' enthält. Die beiden Accessoren können "implizit" sein, wenn der Implementierer ein "field-like event" verwendet. Funktioniert es nur mit Indexern, d. H. Wenn das einzige Mitglied von 'IMyInterface'' string this [int idx] {get; } '? –