Obsolete/Deprecated dla metod w C#

Jeżeli chcesz oznaczyć metodę klasy w C# jako przestarzałą/wycofywaną, można do tego użyć atrybutu metody Obsolete

Przykład:


[Obsolete("Przyczyna wycofania metody")]
public static string Build(string url) {
[...]

Takie oznaczenie metody spowoduje przy każdym jej użyciu w kodzie wyświetlenie przez kompilator ostrzeżenia (warning), które wyglądać może np. tak:

Obsolete/Deprecated w C#

Argument atrybutu pozwala poinformować użytkowników Twojego kodu dlaczego metoda jest wycofywana

Zastosowanie opisanego atrybutu ma jeszcze jeden przyjemny „skutek uboczny”. w przypadku takich definicji metod (przeciążenie – overload):


public string Build(string u, params object[] parameters) { [...] }
public string Build(string u, params UrlParam[] parameters) { [...] }

wycofanie drugiej metody poprzez jej usunięcie z klasy nie spowoduje przekazania żadnej informacji ze strony kompilatora, chociaż potencjalnie może być katastrofalne w skutkach wobec kodu. Oznaczenie jej natomiast jako Obsolete pozwala bezpiecznie znaleźć i zmienić wszystkie wystąpienia w kodzie.

Leave a Comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *