说实话之前用的属性最多的就是[HttpGet] 和[HttpPost]这几个 但是对于它的总的作用什么的一无所知 今天搜了一下 看到一个知乎说的还比较清楚吧 其实很简单 下面就是比较简洁的回答:
1. Attribute本身,就是个标记,没什么功能。
但是,别的工具、框架在做事的时候,会看相关的Attribute,做相应的处理。
就是这么起作用的。
2. 总的来说就是可以用attribute给你的代码(类,方法,成员变量,属性 等等)打个标签,附加一些信息,等到反射时候可以取出这些信息一边根据这些信息做些不同的事情。
3.attribute一定是配合反射使用的。也就说,你看不到的外层框架性代码一定有调用反射去寻找这些attribute。