查看文章 |
C#中声明类/属性/方法已过时--(Obsolete)
2009-10-20 12:08
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 产生两个警告:一个用于声明类引用,一个用于类构造函数。 |