Obsolete特性

来源:互联网 发布:合战 知乎 编辑:程序博客网 时间:2024/06/07 12:57

Obsolete特性<14/9/2017>

Obsolete特性将程序结构标注为过期的,并且在代码编译时,显示有用的警告信息

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 特性{    class Program    {        [Obsolete]//Obsolete特性用来表示一个方法被弃用了        static void OldMethod()//用还是可以用的        {            Console.WriteLine("OldMethod");        }        static void NewMethod()        {            Console.WriteLine("NewMethod");        }        static void Main(string[] args)        {            OldMethod();        }    }}

当添加[Obsolete]之后,OldMethod方法在引用时会显示弃用的标记

然而OldMethod仍然可以使用,输出结果如下

继续挖掘Obsolete功能

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 特性{    class Program    {        [Obsolete("这个方法过时了,使用NewMethod代替")]//Obsolete特性用来表示一个方法被弃用了        static void OldMethod()//用还是可以用的        {            Console.WriteLine("OldMethod");        }        static void NewMethod()        {            Console.WriteLine("NewMethod");        }        static void Main(string[] args)        {            OldMethod();            Console.ReadKey();        }    }}

此时在编译中会显示



第三种使用布尔bool来标记错误

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 特性{    class Program    {        [Obsolete("这个方法过时了,使用NewMethod代替",true)]//Obsolete特性用来表示一个方法被弃用了        static void OldMethod()//用还是可以用的        {            Console.WriteLine("OldMethod");        }        static void NewMethod()        {            Console.WriteLine("NewMethod");        }        static void Main(string[] args)        {            OldMethod();            Console.ReadKey();        }    }}

此时OldMethod方法不再是绿色而是红色,不过我们一般不使用



原创粉丝点击