【发布时间】:2023-12-22 20:07:02
【问题描述】:
如何使用 C# 将方法标记为过时或不推荐使用?
【问题讨论】:
-
别忘了还有
[EditorBrowsable(EditorBrowsableState.Never)](*.com/a/9086345/661933)。用途略有不同。
标签: c# .net versioning deprecated
如何使用 C# 将方法标记为过时或不推荐使用?
【问题讨论】:
[EditorBrowsable(EditorBrowsableState.Never)] (*.com/a/9086345/661933)。用途略有不同。
标签: c# .net versioning deprecated
最短的方法是将ObsoleteAttribute 添加为attribute to the method。确保包含适当的解释:
[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()
使用时,您会得到:
注意:使用消息告诉人们他们应该使用什么,而不是为什么它已经过时。
【讨论】:
使用关键字Obsolete 为方法添加注释。消息参数是可选的,但可以很好地说明为什么该项目现在已过时和/或改用什么。
示例:
[System.Obsolete("use myMethodB instead")]
void myMethodA()
【讨论】: