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:
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.