48、.NET 中的属性:预定义、自定义与使用方法

48、.NET 中的属性:预定义、自定义与使用方法

.NET 中的属性:预定义、自定义与使用方法

1. 预定义、保留属性

在定义自己的属性之前,先来了解 .NET 预定义和保留的两个属性:ObsoleteConditional属性。

1.1Obsolete属性

Obsolete属性允许你将程序构造标记为过时,并在编译代码时显示有用的警告消息。以下是其使用示例:

class Program { [Obsolete("Use method SuperPrintOut")] static void PrintOut(string str) { Console.WriteLine(str); } static void Main(string[] args) { PrintOut("Start of Main"); } }

在上述代码中,尽管PrintOut方法被标记为过时,但Main方法仍然调用了它。代码可以正常编译和运行,输出如下:

Start of Main

不过,在编译期间,编译器会生成以下CS0618警告消息,通知你正在使用一个过时的构造:

'AttrObs.Program.Pri