对于C#程序员来说, 这个概念肯定不会陌生, 而且在as2.0里面.这东东比C#里面的要简单多了.
做为一个组件开发者, 你必须在你的组件类声明很多不同的SWC元数据标记。当你建立一个编译剪辑导出成SWC文件或者打开组件定义面板的时候这些标记就会被处理。
[Bindable]
这个标记表明在组件检查面板的Binding标签里面的一个属性,它必须在getter/setter方法之前定义一个属性值.
Usage 1: [Bindable(“readonly”)]
Usage 2: [Bindable(param1=“writeonly”, type=”DataProvider”)]
Usage 3: [Bindable]
注意里面的param1(字符串)取值只能取writeonly,readonly,null或者省略,它的缺省值是read和write.
type(字符串)指出这个属性可以绑定的对象类型.
[ChangeEvent]
用ChangeEvent元数据标记在你改变绑定属性值的时候,会执行一个或者多个组件事件.当一个元数据的事件发生时,flash会通知绑定这个属性的物体,当一个getter或者setter函数被调用的时候属性已经改变了.它必须在一个属性或者getter/setter方法之前定义.
Usage: [ChangeEvent("click")]
[ComponentTask]
一个组件可以有一个或者多个JSFL文件与之关联,用来布置这个组件的一系列任务(在开发者环境下).用这个标记可以定义这种关联.在flash开发者环境,JSFL可以和Javascript API相结合.
[ComponentTask[taskName,taskFile[,otherFile[,…]]]
任务弹出菜单会在组件检查面板的schema(计划)标签中出现.你可以通过在对话框右边的按钮来激活它.
[Event]
用Event元数据标记来定义组件将要广播的事件.在类的外部加一个Event元数据标记可以使使事件绑定到这个类, 而不是做为该类的一个成员.
Usage: [Event("click")]
[IconFile]
在library面板中的组件的图标文件名.
Usage: [IconFile("MyComponent.png")]
这个文件名可以是任何有效的相对路径.如果你有一个以上的IconFile标记, 最后定义的那个生效.
[Inspectable]
定义组件检查面板里面显示给使用者看的属性.
name(字符串):可选.定义名称,缺省则默认为属性的名称.
type(字符串):可选.定义类型,缺省则默认为属性的类型.
Array
Object
List
String
Number
Boolean
Font Name
Color
defaultValue (字符串或者数字):必需.属性的默认值.
enumeration (字符串):可选.以逗号隔开的一组参数,即枚举.
verbose (数字):可选.组织属性检查面板一个特定子类的所有属性的字符串.
listOffset (数字):可选.考虑到向下面的Flash MX 组件兼容性,用来做为一个列表值的默认索引.
variable (字符串):可选.考虑到向下面的Flash MX 组件兼容性,用来定义参数所绑定的变量.
category (字符串):可选.组织属性到属性检查器的特定子类型
[InspectableList]
你想要显示在属性面板中的项目子集.有时候有一些项目是继承过来的, 你不想在属性面板中显示.这个标记可以让你控制什么该显示,什么不该显示,但是列表的顺序不是很重要,也没有什么实际意义.假如这个标记被省略的话, 那么所有可以检查的属笥都会在属性面板中显示.