Flash AS3/Flex中的自定义元数据?
如何在ActionScript3/Flex中创建和使用自定义元数据?在Flex中处理ActionScript中的元数据有两个基本方向:Flash AS3/Flex中的自定义元数据?,flash,apache-flex,actionscript-3,actionscript,metadata,Flash,Apache Flex,Actionscript 3,Actionscript,Metadata,如何在ActionScript3/Flex中创建和使用自定义元数据?在Flex中处理ActionScript中的元数据有两个基本方向: 在运行时使用反射(或Adobe的内省)进行处理。您可以找到文档。有几个第三方库提供了更方便的反射API,如或 使用Flex编译器扩展,该扩展自Flex 4 SDK版本8165(请参阅)引入。另见和 要创建元数据,只需在类定义中使用方括号语法: [ClassAttr] public class ClassWithMetadata { [AttributeN
要创建元数据,只需在类定义中使用方括号语法:
[ClassAttr]
public class ClassWithMetadata {
[AttributeNoArgs]
public var data:Object;
[AttributeWithArgs(arg="value)]
public var prop:Object;
}
调用describeType(ClassWithMetadata)
获取类的xml描述。元数据将在那里,您可以对其进行解析并根据需要进行处理。要防止编译器剥离元数据,请为您使用的每个属性名称添加编译器参数
-keep-as3-metadata Attribute
。这可以在库设置中或在每个使用元数据的项目中完成。非常好的问答。有人能列举一些例子说明这是如何有用的吗?谢谢@bigp一些架构框架使用自定义元数据(例如欧芹、Swiz),这些自定义元数据在编译时是否也可以在Flash CS*IDE中工作?@bigp it-it-should。您可以像在其他IDE中一样处理类和对象,因此反射应该可以工作,例如感谢!如果我能接受不止一个答案……:)没问题,我很高兴它能帮上忙。这是Flex编译器(mxmlc)独有的,还是元数据也会保留在Flash Professional编译器中?