Attribute 类将预定义的系统信息或用户定义的自定义信息与目标元素相关联。目标元素可以是程序集、类、构造函数、委托、枚举、事件、字段、接口、方法、可移植可执行文件模块、参数、属性(Property)、返回值、结构或其他属性(Attribute)。
属性所提供的信息也成为元数据。元数据可由应用程序在运行时进行检查以控制程序处理数据的方法,也可以由外部工具在运行前检查以控制应用程序处理或维护自身的方式。
所有属性类型都直接或间接地从Attribute 类派生。属性可应用于任何目标元素;多个属性可应用于同一目标元素。使用AttributeTargets 类可以指定属性所应用到的目标元素。
在控件开发过程中,自定义的属性(Property)或者自定义的事件(Event)往往需要添加设计时Attribute,下表对常用的设计时Attribute 进行了说明:
属性(Attribute) | 应用于 | 说明 |
BrowsableAttribute | 属性和事件 | 指定属性(Property)或事件是否应该显示在属性(Property)浏览器中。 |
CategoryAttribute | 属性和事件 | 指定类别的名称,在该类别中将对属(Property)或事件进行分组。当使用了类别时,组件属性(Property)和事件可以按逻辑分组显示在属性(Property)浏览器中。 |
DescriptionAttribute | 属性和事件 | 定义一小块文本,该文本将在用户选择属性(Property)或事件时显示在属性(Property)浏览器底部。 |
BindableAttribute | 属性 | 指定是否要绑定到该属性(Property)。 |
DefaultPropertyAttribute | 属性 | 指定组件的默认属性(Property)。当用户单击控件时,将在属性(Property)浏览器中选定该属性(Property)。 |
DefaultValueAttribute | 属性 | 为属性(Property)设置一个简单的默认值。 |
EditorAttribute | 属性 | 指定在可视设计器中编辑(更改)属性(Property)时要使用的编辑器。 |
LocalizableAttribute | 属性 | 指定属性(Property)可本地化。当用户要本地化某个窗口时,任何具有该属性(Attribute)的属性(Property)都将自动永久驻留到资源文件中。 |
DesignerSerializationVisibilityAttribute | 属性 | 指定显示在属性(Property)浏览器中属性(Property)是否应该(以及如何)永久驻留在代码中。 |
TypeConverterAttribute | 属性 | 指定将属性(Property)的类型转换为另一个数据类型时要使用的类型转换器。 |
DefaultEventAttribute | 事件 | 指定组件的默认事件。这是当前用户单击组件时在属性(Property)浏览器中选定的事件。 |