我如何标记一个方法为过时或弃用使用c# ?
当前回答
最短的方法是将ObsoleteAttribute作为属性添加到方法中。确保包含适当的解释:
[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{ … }
你也可以导致编译失败,将该方法的使用视为错误而不是警告,如果该方法是从如下代码中的某个地方调用的:
[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]
其他回答
使用ObsoleteAttribute,您可以将一个方法标记为已弃用。 它有三个构造函数:
[过时]:是一个无参数构造函数,是使用此属性的默认值。 [Obsolete(string message)]:在这种格式中,你可以得到这个方法被弃用的原因。 [过时(string message, bool error)]:在这种格式中,消息是非常显式的,但错误意味着,在编译时,编译器必须显示错误并导致编译失败。
用警告标记为过时:
[Obsolete]
private static void SomeMethod()
当你使用它时,你会得到一个警告:
智能感知:
如果你想留言:
[Obsolete("My message")]
private static void SomeMethod()
下面是智能感知工具的提示:
最后,如果你想让这个用法被标记为错误:
[Obsolete("My message", true)]
private static void SomeMethod()
当使用这是你得到的:
注意:使用消息来告诉人们他们应该用什么代替,而不是为什么它过时了。
对于依赖注入方法,将[Obsolete("description")]属性应用于声明而不是实现(:doh: moment For me)
使用关键字Obsolete向方法添加注释。Message参数是可选的,但传达为什么该项现在已过时和/或使用什么代替是一个好主意。 例子:
[System.Obsolete("use myMethodB instead")]
void myMethodA()
最短的方法是将ObsoleteAttribute作为属性添加到方法中。确保包含适当的解释:
[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{ … }
你也可以导致编译失败,将该方法的使用视为错误而不是警告,如果该方法是从如下代码中的某个地方调用的:
[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]
推荐文章
- c#线程安全快速(est)计数器
- 如何将此foreach代码转换为Parallel.ForEach?
- 如何在iis7应用程序池中设置。net Framework 4.5版本
- 如何分裂()一个分隔字符串到一个列表<字符串>
- 如何转换列表<字符串>列表<int>?
- c#对象列表,我如何得到一个属性的和
- 我如何使用IValidatableObject?
- 如何指定最小值,但没有使用范围数据注释属性的最大小数?
- 如何在PowerShell中获得本地主机名?
- c# vs Java Enum(适合c#新手)
- c#消毒文件名
- 你如何比较两个版本的字符串在Java?
- 为什么在Java和。net中不能修改字符串?
- 在EF中更新父实体时如何添加/更新子实体
- ASP。NET身份的默认密码散列器-它是如何工作的,它是安全的?