MSDN
属性提供功能强大的方法以将声明信息与 C# 代码(类型、方法、属性等)相关联。一旦属性与程序实体关联,即可在运行时使用名为反射的技术对属性进行查询。属性以两种形式存在:一种是在公共语言运行库的基类库中定义的属性,另一种是可以创建,可以向代码中添加附加信息的自定义属性。此信息可在以后以编程方式检索。属性具有以下特点:
属性可向程序中添加元数据。元数据是嵌入程序中的信息,如编译器指令或数据描述。
程序可以使用反射检查自己的元数据。请参见使用反射访问属性。
通常使用属性与 COM 交互。
属性提供功能强大的方法以将声明信息与 C# 代码(类型、方法、属性等)相关联。一旦属性与程序实体关联,即可在运行时使用名为反射的技术对属性进行查询。属性以两种形式存在:一种是在公共语言运行库的基类库中定义的属性,另一种是可以创建,可以向代码中添加附加信息的自定义属性。此信息可在以后以编程方式检索。属性具有以下特点:
属性可向程序中添加元数据。元数据是嵌入程序中的信息,如编译器指令或数据描述。
程序可以使用反射检查自己的元数据。请参见使用反射访问属性。
通常使用属性与 COM 交互。
http://blog.csdn.net/ojekleen/archive/2007/09/18/1789673.aspx