Как пометить метод как устаревший или устаревший?

Как пометить метод как устаревший или устаревший с помощью С#?

Ответ 1

Самый короткий путь - это добавить атрибут ObsoleteAttribute в качестве атрибута метода. Обязательно включите соответствующее объяснение:

[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{ … }

Вы также можете привести к сбою компиляции, рассматривая использование метода как ошибку вместо предупреждения, если метод вызывается где-то в коде следующим образом:

[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]

Ответ 2

Отметить как устаревшее с предупреждением:

[Obsolete]
private static void SomeMethod()

Вы получаете предупреждение, когда используете его:

Obsolete warning is shown

И с IntelliSense:

Obsolete warning with IntelliSense

Если вы хотите получить сообщение:

[Obsolete("My message")]
private static void SomeMethod()

Здесь подсказка инструмента IntelliSense:

IntelliSense shows the obsolete message

Наконец, если вы хотите, чтобы использование было помечено как ошибка:

[Obsolete("My message", true)]
private static void SomeMethod()

При использовании этого вы получаете:

Method usage is displayed as an error

Примечание. Используйте сообщение, чтобы сообщать людям, что они должны использовать, а не почему оно устарело.

Ответ 3

Добавьте аннотацию к методу, используя ключевое слово Obsolete. Аргумент сообщения является необязательным, но это хорошая идея, чтобы сообщить, почему элемент сейчас устарел и/или что использовать вместо.
Пример:

[System.Obsolete("use myMethodB instead")]
void myMethodA()

Ответ 4

С ObsoleteAttribute вы можете показать устаревший метод. Устаревший атрибут имеет три конструктора:

  1. [Obsolete]: это конструктор без параметров и используется по умолчанию с использованием этого атрибута.
  2. [Obsolete(string message)]: в этом формате вы можете получить message о том, почему этот метод устарел.
  3. [Obsolete(string message, bool error)]: в этом формате сообщение является очень явным, но error означает, что во время компиляции компилятор должен показывать ошибку и вызывать сбой при компиляции или нет.

enter image description here

Ответ 5

[Obsolete]
    public void MyMethod()

Ответ 6

Как сказано всеми, вы можете пометить его, используя атрибут [Устаревший]. Bowow - это простое видео youttube, которое объясняет все 3 варианта атрибута Obsolete.

Нажмите, чтобы просмотреть С# Устаревшее видео атрибутов

Ответ 7

Единственный способ убедиться в том, что он должен уничтожить его с орбиты.

Лучший способ справиться с устаревшим кодом - удалить этот старый код.