类方法属性 特征

特性是一个类   只要继承Attribute   就是一个特性类

用特性来标记元素  编译时生成到metadata里 平时不影响程序的运行

除非主动用反射去查找 可以得到一些额外的信息 操作  然后提供了更丰富的扩展空间

特性可以在不破坏类型封装的前提下 增加额外的功能

特性是为了实现AOP  AOP:面向切面编程

 

第一个参数 表示什么东西可以加这个特性  第二个表示同一个东西能否写两个当前特性  一般都是false 

 先if判断当前对象类型是否存在customerAttribute特性    

存在就去实例化这个特性对象  进行操作

找到当前对象类型的所有构造函数   

判断是否存在改特性

找到该对象类型的某个方法 

判断该方法是否存在某个特性

通过特性+反射来检查权限  如果存在这个特性 就判断是否有权限

不存在这个特性就直接执行

 

原文地址:https://www.cnblogs.com/jiangchengbiao/p/9970563.html