Как пометить метод как устаревший или устаревший с помощью 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
означает, что во время компиляции компилятор должен показывать ошибку и вызывать сбой при компиляции или нет.