Wydaje się, że jest to ostrzeżenie 67 i dlatego można je zlikwidować za pomocą:
#pragma warning disable 67
Nie zapomnij przywrócić go tak szybko, jak to możliwe (po deklaracji zdarzenia) za pomocą:
#pragma warning restore 67
Jednak chciałbym jeszcze raz sprawdzić i upewnić się, że podnoszenie się gdzieś zdarzeń, nie tylko zapisanie do niego. Fakt, że kompilator wypluwa 20 ostrzeżeń, a nie 20 błędów, gdy komentujesz wydarzenie, jest również podejrzany ...
Jest też interesujący artykuł na temat tego ostrzeżenia, a konkretnie jego zastosowania do interfejsów; jest dobra sugestia, jak radzić sobie z „niewykorzystanymi” zdarzeniami. Ważne części to:
Prawidłowa odpowiedź to sprecyzowanie, czego oczekujesz od zdarzenia, co w tym przypadku jest niczym:
public event EventHandler Unimportant
{
add { }
remove { }
}
Spowoduje to wyraźne pominięcie ostrzeżenia, a także dodatkowej implementacji normalnego zdarzenia wygenerowanej przez kompilator. A jako kolejna dodatkowa korzyść, skłania do zastanowienia się, czy ta implementacja bez robienia niczego jest naprawdę najlepsza. Na przykład, jeśli zdarzenie nie jest tak bardzo nieważne, jak nie jest obsługiwane, tak że klienci, którzy polegają na tej funkcjonalności, prawdopodobnie nie powiedzie się bez niej, lepiej wyraźnie wskazać brak wsparcia i szybko zawieść, rzucając wyjątek:
public event EventHandler Unsupported
{
add { throw new NotSupportedException(); }
remove { }
}
Oczywiście interfejs, który można z powodzeniem zaimplementować bez niektórych części jego funkcjonalności, czasami wskazuje, że interfejs nie jest optymalnie spójny i powinien zostać podzielony na oddzielne interfejsy.