如何使用 C# 标记方法为已过时或不建议使用?
最简单的方法是将ObsoleteAttribute
添加为方法的属性。请确保包含适当的说明:
[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()
当您使用它时会收到警告:
还可以通过智能感知获得提示:
如果您需要一条消息:
[Obsolete("My message")]
private static void SomeMethod()
这里是 IntelliSense 工具提示:
最后,如果您希望将使用标记为错误:
[Obsolete("My message", true)]
private static void SomeMethod()
当你使用它时,你会得到以下结果:
注意:使用消息告诉人们他们应该使用什么来代替,而不是为什么它已经过时。
使用关键字Obsolete
为方法添加注解。消息参数是可选的,但是推荐使用它来说明此项现在已过时以及应该使用什么替代品。
例如:
[System.Obsolete("use myMethodB instead")]
void myMethodA()
对于依赖注入的方法,请将[Obsolete("description")]
属性应用于声明而不是实现(对我来说是个愚蠢的时刻)
[EditorBrowsable(EditorBrowsableState.Never)]
(https://dev59.com/Ymox5IYBdhLWcg3wnllI#9086345)。它有稍微不同的用途。 - nawfal