Dies scheint eine Warnung 67 zu sein und kann daher unterdrückt werden mit:
#pragma warning disable 67
Vergessen Sie nicht, es so schnell wie möglich (nach der Ereignisdeklaration) wiederherzustellen mit:
#pragma warning restore 67
Ich würde jedoch noch einmal überprüfen und stellen Sie sicher , dass Sie erhöhen die Veranstaltung irgendwo, nicht nur abonniert zu. Die Tatsache, dass der Compiler 20 Warnungen und nicht 20 Fehler ausspuckt, wenn Sie das Ereignis auskommentieren, ist ebenfalls verdächtig ...
Es gibt auch einen interessanten Artikel über diese Warnung und speziell darüber, wie sie für Schnittstellen gilt. Es gibt einen guten Vorschlag, wie man mit "unbenutzten" Ereignissen umgeht. Die wichtigen Teile sind:
Die richtige Antwort ist, explizit anzugeben, was Sie von der Veranstaltung erwarten, was in diesem Fall nichts ist:
public event EventHandler Unimportant
{
add { }
remove { }
}
Dadurch werden die Warnung sowie die zusätzliche vom Compiler generierte Implementierung eines normalen Ereignisses sauber unterdrückt. Und als weiteren zusätzlichen Vorteil muss man darüber nachdenken, ob diese Nichtstun-Implementierung wirklich die beste Implementierung ist. Wenn das Ereignis beispielsweise nicht so unwichtig ist, sondern nicht unterstützt wird, sodass Clients, die sich auf die Funktionalität verlassen, wahrscheinlich ohne diese Funktion fehlschlagen, ist es möglicherweise besser, den Mangel an Unterstützung explizit anzugeben und schnell zu scheitern, indem Sie eine auslösen Ausnahme:
public event EventHandler Unsupported
{
add { throw new NotSupportedException(); }
remove { }
}
Natürlich ist eine Schnittstelle, die ohne einige Teile ihrer Funktionalität sinnvoll implementiert werden kann, manchmal ein Hinweis darauf, dass die Schnittstelle nicht optimal zusammenhängend ist und in separate Schnittstellen aufgeteilt werden sollte.