Подтвердить что ты не робот

Что такое эквивалент .NET @Deprecated в java?

Есть ли аннотация в .NET, которая позволяет отказаться от методов или классов, чтобы их использование и их вызывающие элементы были идентифицированы компилятором (cf @Deprecated in Java)

4b9b3361

Ответ 1

Атрибут [Obsolete].

Вы можете добавить комментарий к тем, что люди должны использовать, например:

[Obsolete("Use NewMethod() instead")]
public void OldMethod()
{
}

Если вы хотите сгенерировать ошибку компилятора, когда люди используют ваш метод:

[Obsolete("Use NewMethod() instead", true)]
public void OldMethod()
{
}

Это пример метода, но он может использоваться практически для любой цели атрибута. См. здесь для полных документов.


Поскольку вопрос был слегка отредактирован, я также добавлю синтаксис VB.NET, чтобы охватить наиболее распространенные языки .NET:

<Obsolete("Use NewMethod() instead")> _
Public Sub OldMethod()
End Sub

Ответ 2

[Устаревший] - см. здесь для документации по нему. Добавление этого метода или класса даст предупреждение компилятору, если кто-то попытается его использовать, с настраиваемым сообщением, которое вы передаете атрибуту при необходимости