Как пометить метод как устаревший или устаревший с помощью C # ?
[EditorBrowsable(EditorBrowsableState.Never)]( stackoverflow.com/a/9086345/661933 ). Служит немного другой цели.
Как пометить метод как устаревший или устаревший с помощью C # ?
[EditorBrowsable(EditorBrowsableState.Never)]( stackoverflow.com/a/9086345/661933 ). Служит немного другой цели.
Ответы:
Кратчайший путь является путем добавления в ObsoleteAttributeкачестве атрибута к методу . Не забудьте включить соответствующее объяснение:
[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{ … }
Вы также можете вызвать сбой компиляции, трактуя использование метода как ошибку вместо предупреждения , если метод вызывается откуда-то в коде, например так:
[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]
Чтобы пометить как устаревшее с предупреждением:
[Obsolete]
private static void SomeMethod()
Вы получаете предупреждение, когда используете его:

И с IntelliSense:

Если вы хотите сообщение:
[Obsolete("My message")]
private static void SomeMethod()
Вот подсказка IntelliSense:

Наконец, если вы хотите, чтобы использование было помечено как ошибка:
[Obsolete("My message", true)]
private static void SomeMethod()
При использовании это то, что вы получаете:

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