欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Obsolete特性

程序员文章站 2024-03-22 10:24:10
...

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方法在引用时会显示弃用的标记

Obsolete特性

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

Obsolete特性

继续挖掘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();
        }
    }
}

此时在编译中会显示

Obsolete特性

第三种使用布尔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方法不再是绿色而是红色,不过我们一般不使用

Obsolete特性