如何将方法标记为已过时/已弃用?
如何将方法标记为已废弃/已弃用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()
唯一确定的方法就是将它从轨道上剔除。
处理过时代码的最好方法就是删除这个旧代码。