许多C#语言使程序员能够指定有关程序中定义的实体的声明性信息.例如,在一个类中的方法的可访问性由与装饰它指定method_modifier小号public,protected,internal,和private. C#使程序员能够发明新的声明性信息,称为特性.然后,程序员可以将特性附加到各种程序实体,并在运行时环境中检索特性信息.例如,框架可以定义HelpAttribute可以放置在某些程序元素(例如类和方法)上的特性,以提供从这些程序元素到其文档的映射. 特性是通过特性类(特性类)的声明定义的