过时属性将代码中的类、方法、属性、字段、委托以及许多其他元素标记为已弃用或过时。该属性在编译时读取,用于向开发人员生成警告或错误。
如果我们想要确保程序员使用较新版本的方法,则该属性可以提供帮助。当我们从旧方法过渡到新方法时,它也变得更加容易。将项目标记为过时会警告用户程序元素将在未来版本的代码库中删除。
此属性位于系统命名空间中。 Obsolete 属性通过将单词“Obsolete”放在程序元素上方的方括号内来装饰程序元素。既然它是一个属性,我们可以使用 Obsolete 或 ObsoleteAttribute。
Obsolete 属性有三个构造函数 -
[ Obsolete] - 是一个无参数构造函数,并且默认使用此属性。
[Obsolete(string message)] - 在这种格式中,我们会得到有关为什么此方法被弃用的消息.
[Obsolete(string message, bool error)] - 在这种格式中,我们可以与消息一起控制编译器是否应该在编译期间抛出错误。
示例
'using System;
namespace DemoApplication{
class Demo{
static void Main(string[] args){
ObseleteMethod();
ObseleteMethodWithMessage();
ObseleteMethodWithMessageAndNoFail();
ObseleteMethodWithMessageAndFail();
}
[Obsolete]
public static void ObseleteMethod() { }
[Obsolete("This Method is Deprecated")]
public static void ObseleteMethodWithMessage() { }
[Obsolete("This Method is Deprecated", false)]
public static void ObseleteMethodWithMessageAndNoFail() { }
[Obsolete("This Method is Deprecated", true)]
public static void ObseleteMethodWithMessageAndFail() { }
}
}
输出
上述代码的输出为