Ответ 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