使用方括号 [] 来贴符。
贴了这张符,就表示这个招式已经老掉牙了,不推荐使用。
[Obsolete("这一招太慢了,请用辟邪剑法。")]
public void OldSkill()
{
Console.WriteLine("慢吞吞的一剑...");
}
如果你调用这个方法,岳不群(编译器)会给你一个警告(Warning)。
表示这个对象可以被“序列化”(变成二进制流保存起来,或者通过网络传输)。
[Serializable]
class SecretBook
{
public string Content = "欲练此功...";
}
你也可以自己画符。只需要创建一个继承自 Attribute 的类。
// 定义一张“门派符”
class SectAttribute : Attribute
{
public string Name;
public SectAttribute(string name) { Name = name; }
}
// 贴在人身上
[Sect("华山派")]
class LinghuChong { }
编写一个方法 UseIronSword()。
给它加上 [Obsolete] 特性,提示“铁剑已锈,请换倚天剑”。
在 Main 方法里调用它,看看编译器会说什么?
using System;
class Program
{
[Obsolete("铁剑已锈,请换倚天剑", true)] // 如果第二个参数是 true,会直接报错而不是警告
static void UseIronSword()
{
Console.WriteLine("挥舞铁剑...");
}
static void Main()
{
UseIronSword(); // 这里会看到绿色的波浪线(警告)或红线(错误)
}
}