如何使用C#将方法标记为过时或过时?
#1楼
最简单的方法是将ObsoleteAttribute作为方法的属性添加。 确保包括适当的解释:
[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{ … }
如果从下面的代码中调用该方法,您也可能导致编译失败,将方法的使用视为错误而不是警告 。
[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]
#2楼
使用关键字Obsolete向方法添加注释。 消息参数是可选的,但是一个很好的主意,用于传达为什么现在该项目已过时和/或使用什么代替。
例:
[System.Obsolete("use myMethodB instead")]
void myMethodA()
#3楼
用警告标记为过时:
[Obsolete]
private static void SomeMethod()
使用时会收到警告:
借助IntelliSense:
如果您想留言:
[Obsolete("My message")]
private static void SomeMethod()
这是IntelliSense工具提示:
最后,如果您希望将用法标记为错误:
[Obsolete("My message", true)]
private static void SomeMethod()
使用后,您会得到:
注意:使用该消息告诉人们应该使用什么,而不是为什么它已过时。
#4楼
使用ObsoleteAttribute您可以显示不赞成使用的方法。 过时的属性具有三个构造函数:
[Obsolete]:是无参数构造函数,并且是使用此属性的默认值。
[Obsolete(string message)]:以这种格式,您可以获得有关不赞成使用此方法的message 。
[Obsolete(string message, bool error)]:此格式的消息非常明确,但是error表示在编译时,编译器必须显示错误,导致编译失败或失败。