`

Obsolete属性

    博客分类:
  • C#
 
阅读更多

Obsolete 属性将某个程序实体标记为一个建议不再使用的实体。每次使用被标记为已过时的实体时,随后将生成警告或错误,这取决于属性是如何配置的。例如:

 
      [System.Obsolete("use class B")]
class A
{
    public void Method() { }
}
class B
{
    [System.Obsolete("use NewMethod", true)]
    public void OldMethod()  { }
    public void NewMethod()  { }
}

在此例中,Obsolete 属性应用于类 A 和方法 B.OldMethod。由于应用于 B.OldMethod 的属性构造函数的第二个参数设置为 true,因此使用此方法将导致编译器错误,而使用类 A 只会产生警告。但是,调用B.NewMethod 既不产生警告也不产生错误。

向属性构造函数提供的作为第一个参数的字符串将显示为警告或错误的一部分。例如,当与前面的定义一起使用时,下面的代码将生成两个警告和一个错误:

 
// Generates 2 warnings:
A a = new A();
// Generate no errors or warnings:
B b = new B();
b.NewMethod();
// Generates an error, terminating compilation:
b.OldMethod();

为类 A 产生两个警告:一个用于声明类引用,一个用于类构造函数。

可在不使用参数的情况下使用 Obsolete 属性,但要包括此项已过时的原因及改用什么项的建议。

Obsolete 属性是一个单用途属性,并且可应用于允许属性的任何实体。Obsolete 是 ObsoleteAttribute 的别名。

转自:http://technet.microsoft.com/zh-cn/magazine/22kk2b44(VS.80).aspx

分享到:
评论

相关推荐

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。 -Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其中的Close全部改为Hide。 -增加TabStrip中Tab...

    ExtAspNet_v2.3.2_dll

    -使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。 -Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其中的Close全部改为Hide。 -增加TabStrip中Tab...

    C#教程(语言规范)

    目录 1. 简介 ... 1 2. 词法结构 ... 31 2.1 程序 ......2.2 文法 ......2.2.1 文法表示法 31 2.2.2 词法文法......2.2.3 句法文法......2.3 词法分析 .....2.3.1 行结束符......2.3.2 注释......2.3.3 空白......2.4 标记 ......

    obsolete:过时的属性抛出异常

    过时的将删除的属性标记为过时,以便在使用时抛出异常 用法: var obsolete = require('obsolete');var foo = {};obsolete(foo, 'bar');// throws exceptions 'obsolete property "bar" removed'foo.bar;foo.bar = 1...

    C#中的Obsolete特性(Attribute)

    试想一下,在代码中如何给调用者提示所调用的方法并不是优的,它可以被一个更好的方法所替代...  指定一个attribute,用方括号[]围起所期望的attribute,置于所要修饰的方法、接口、属性、委托、事件等语言元素之前。

    obsolete.rolodex:Rolodex for Open Peer

    联系信息标准化为属性。 与通过安排的服务通信(目前由于 kickq而被禁用) 联系人和服务状态缓存在。 通过共享注释架构轻松进行水平循环扩展(需要中央 redis)。 例子 cd example make install # Configure ...

    应用开发软件

    可以用于小工具下载,一款很好用的实用工具ObsoleteAttribute 适用于除组件...将元素标记为 obsolete,可以通知用户该元素将在未来的版本中删除。 IsError - 设置为 true,编译器将在代码中使用这个属性时,提示错误。

    C#语言规范(4.0版本)

    Microsoft(微软)C#语言规范4.0版本,非常值得大家学习收藏! 目录 1. 简介 1 1.1 Hello world 1 1.2 程序结构 2 1.3 类型和变量 3 1.4 表达式 6 1.5 语句 8 1.6 类和对象 12 1.6.1 成员 12 ...10.7.1 静态属性...

    微软C#语言规范,C#语言教程中文版

    目录 1. 简介 1 1.1 Hello world 1 1.2 程序结构 2 1.3 类型和变量 3 1.4 表达式 6 1.5 语句 8 1.6 类和对象 12 1.6.1 成员 12 ...10.7.1 静态属性和实例属性 312 10.7.2 访问器 313 10.7.3 自动实现...

    C#语言规范4.0

    目录 1. 简介 1 1.1 Hello world 1 1.2 程序结构 2 1.3 类型和变量 3 1.4 表达式 6 1.5 语句 8 1.6 类和对象 12 1.6.1 成员 12 ...10.7.1 静态属性和实例属性 312 10.7.2 访问器 313 10.7.3 自动实现...

    C#_语言规范_4.0_中文版

    C# 语言规范 版本 4.0 目录 1. 简介 1 1.1 Hello world 1 1.2 程序结构 2 1.3 类型和变量 3 1.4 表达式 6 1.5 语句 8 1.6 类和对象 12 ...1.6.7.2 属性 23 ...10.3.9.1 为属性保留的...10.7.1 静态属性和实例属性 312 10.7.2 ...

    C#语言规范(2.0,3.0,4.0合集)

    1.6.7.2 属性 23 1.6.7.3 索引器 23 1.6.7.4 事件 23 1.6.7.5 运算符 24 1.6.7.6 析构函数 25 1.7 结构 25 1.8 数组 26 1.9 接口 27 1.10 枚举 28 1.11 委托 29 1.12 特性 30 2. 词法结构 33 2.1 程序 33 2.2 文法 ...

    grav-plugin-feed-us:向我们提供Grav插件

    路线图支持更多的提要类型(XML,JSON) 支持更多项目属性(内容,图像等) 能够导入多个提要有什么建议吗? 我很想听听它!演示版安装可以通过以下两种方式之一安装Feed Us插件。 GPM(Grav软件包管理器)安装方法...

Global site tag (gtag.js) - Google Analytics