AS3/Flex中的自定义元数据?

Tim*_*dik 11 apache-flex flash actionscript metadata actionscript-3

如何在ActionScript3/Flex中创建和使用自定义元数据?

Con*_*ner 19

在Flex中处理ActionScript中的元数据有两个一般方向:

  1. 使用反射在运行时进行处理(或根据Adobe进行内省).你可以在这里找到文档.有几个第三方库提供了更方便的反射API,例如Parsley中的as3-commons-reflect反射API.
  2. 使用自Flex 4 SDK修订版8165以来引入的Flex Compiler Extensions(请参阅详细信息).另请参阅相应的讨论官方文档.


alx*_*lxx 14

要创建元数据,只需在类定义中使用方括号语法:

[ClassAttr]
public class ClassWithMetadata {
    [AttributeNoArgs]
    public var data:Object;

    [AttributeWithArgs(arg="value)]
    public var prop:Object;
}
Run Code Online (Sandbox Code Playgroud)

调用describeType(ClassWithMetadata)以获取您的类的xml描述.元数据将存在,您可以解析它并根据需要进行处理.
要防止编译器剥离元数据,请-keep-as3-metadata Attribute为您使用的每个属性名称添加编译器参数.这可以在库设置中或在使用元数据的每个项目中完成.