阅读目录
官方介绍:使用特性,可以有效地将元数据或声明性信息与代码(程序集、类型、方法、属性等)相关联。 将特性与程序实体相关联后,可以在运行时使用 反射 这项技术查询特性。我个人的理解,特性就是给程序(可以是程序集、类、接口、方法、属性等等)标注一些信息,在使用的时候用反射来读取区分,进行特殊处理,使程序去耦合。可以简单理解为,特性是用来标记一种功能,在另一个地方实现这种功能。使用的时候在一个地方用[]来标注,另一个地方反射读取进行特殊处理,例如MVC、ORM、IOC容器等很多地方都是使用特性来实现。
这里我们使用官方的Obsolete特性来介绍怎么使用的。Obsolete特性是标注一个方法已经过时了,不推荐使用。创建一个类TestClassOne,代码如下
1 // TestClassOne.cs 2 using System; 3 4 namespace Demo02_Attribute 5 { 6 public class TestClassOne 7 { 8 [Obsolete] 9 public void TestMethodOne(string msg) 10 { 11 Console.WriteLine($"TestClassOne.TestMethodOne( {msg} )"); 12 } 13 public void TestMethodTwo(string msg) 14 { 15 Console.WriteLine($"TestClassOne.TestMethodTwo( {msg} )"); 16 } 17 } 18 }