1、Attribute与Property
Attribute是特性,Property是属性。
2、Attribute与注释
注释:是给程序员看的,编译的时候会去掉这些信息,也就是说,程序集中没有注释的内容。
Attribute:会被编译到程序集中,在程序集的元数据中,在加载程序集的时候,可以从它的元数据中提取出这些信息。
3、说了那么多,考虑下,它解决什么问题?
考虑下面的需求,一个工具类提供了很多静态方法,甲乙两个程序员合作完成,理所当然,应该标识出哪些是甲写的,哪些是乙写的,用于统计。最笨的加注释,但是它有两个问题:a、编译后生成的程序集中,没有了这些注释内容;b、只能通过人工去统计甲乙完成的方法,有没有办法通过程序自动化统计呢?
4、使用Attribute,对源代码打上标记,这些标记生成在程序集中,做个小工具去统计甲乙完成的方法。
5、特别注意:表面上,Attribute和public,static一样,像个修饰符。实际上,Attribute不是修饰符,而是一个特殊的类,这个类实例化,然后附着在目标对象上。