Jak oznaczyć metodę jako przestarzałą lub przestarzałą za pomocą C # ?
[EditorBrowsable(EditorBrowsableState.Never)]( stackoverflow.com/a/9086345/661933 ). Służy nieco inny cel.
Jak oznaczyć metodę jako przestarzałą lub przestarzałą za pomocą C # ?
[EditorBrowsable(EditorBrowsableState.Never)]( stackoverflow.com/a/9086345/661933 ). Służy nieco inny cel.
Odpowiedzi:
Najkrótsza droga jest poprzez dodanie ObsoleteAttributejako atrybut do metody . Pamiętaj o podaniu odpowiedniego wyjaśnienia:
[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{ … }
Możesz także spowodować niepowodzenie kompilacji, traktując użycie metody jako błąd zamiast ostrzeżenia , jeśli metoda jest wywoływana gdzieś w kodzie w następujący sposób:
[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]
Aby oznaczyć jako przestarzałe ostrzeżenie:
[Obsolete]
private static void SomeMethod()
Podczas korzystania z niego pojawia się ostrzeżenie:

A dzięki IntelliSense:

Jeśli chcesz wiadomość:
[Obsolete("My message")]
private static void SomeMethod()
Oto podpowiedź IntelliSense:

Wreszcie, jeśli chcesz, aby użycie zostało oznaczone jako błąd:
[Obsolete("My message", true)]
private static void SomeMethod()
Po użyciu otrzymujesz:

Uwaga: użyj tego komunikatu, aby powiedzieć ludziom, czego powinni użyć, a nie dlaczego jest przestarzały.
Dodaj adnotację do metody za pomocą słowa kluczowego Obsolete. Argument komunikatu jest opcjonalny, ale dobrym pomysłem jest poinformowanie, dlaczego element jest już nieaktualny i / lub czego użyć zamiast niego.
Przykład:
[System.Obsolete("use myMethodB instead")]
void myMethodA()
Dzięki ObsoleteAttributemożesz pokazać przestarzałą metodę. Przestarzały atrybut ma trzy konstruktory:
[Obsolete]:jest konstruktorem bez parametrów i domyślnie korzysta z tego atrybutu.[Obsolete(string message)]:w tym formacie możesz dowiedzieć się,messagedlaczego ta metoda jest przestarzała.[Obsolete(string message, bool error)]:w tym formacie komunikat jest bardzo wyraźny, aleerroroznacza, że w czasie kompilacji kompilator musi wyświetlać błędy i powodować niepowodzenia kompilacji lub nie.