什么是java中的@Deprecated的.NET等价物?

时间:2009-08-06 18:39:20

标签: c# .net metadata

.NET中是否有注释允许不推荐使用方法或类,以便编译器识别它们的使用和调用者(cf @Deprecated in Java)

2 个答案:

答案 0 :(得分:43)

[Obsolete]属性。

您可以添加关于人们应该使用的内容的评论,例如:

[Obsolete("Use NewMethod() instead")]
public void OldMethod()
{
}

如果您想在人们使用您的方法时生成编译器错误:

[Obsolete("Use NewMethod() instead", true)]
public void OldMethod()
{
}

这是一个方法的示例,但它几乎可以在任何属性目标上使用。有关完整文档,请参阅here


由于问题略有编辑,我还将添加VB.NET语法,以涵盖最常见的.NET语言:

<Obsolete("Use NewMethod() instead")> _
Public Sub OldMethod()
End Sub

答案 1 :(得分:9)

[已废弃] - 请参阅here了解相关文档。如果有人试图使用它,那么将它添加到方法或类中会给编译器警告,如果需要,可以使用您为属性提供的自定义消息