如何将方法标记为已过时/已弃用?

如何将方法标记为已废弃/已弃用C#?

最简单的方法是添加一个方法属性 :

[System.Obsolete] 

你可以添加一个解释:

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

如果从代码中的某处调用方法,也可能导致编译失败(将方法用作错误而不是警告):

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

(谢谢@rick)

使用关键字Obsolete为方法添加一个注释。 消息参数是可选的,但是传达为什么该项目现在已经过时和/或正在使用什么是一个好主意。 例:

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

用警告标记为过时;

  [Obsolete] private static void SomeMethod() 

当你使用它的时候会得到一个警告。

在这里输入图像说明

和工具提示;

在这里输入图像说明

如果你想要一个消息;

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

这里是工具提示;

在这里输入图像说明

最后,如果您希望将使用情况标记为错误,

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

使用时,这是你得到的;

在这里输入图像说明

提示 – 使用消息告诉人们他们应该使用什么,而不是为什么它是过时的。

 [Obsolete] public void MyMethod() 

唯一确定的方法就是将它从轨道上剔除。

处理过时代码的最好方法就是删除这个旧代码。