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方法在引用时会显示弃用的标记
然而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方法不再是绿色而是红色,不过我们一般不使用