metadata就是元数据,反应一个类本质的属性,可以通过describeType(obj)来得到反应该对象的xml.
要自定义元数据,如[MyMatedata()]:
1 package { 2 public class MyClass extends Object{ 3 [MyMatedata(name="ha",name2="haha2")] 4 public var a:String; 5 public function MyClass(){ 6 super(); 7 } 8 public function getA():void{ 9 trace("dd");10 }11 }12 }
describeType(new MyClass())返回:
12 3 4 12---------------------------------->自定义元数据 5 86 7 9 1110 13 1714 1615 18 2019 21 2322
这样就可以通过给类添加元数据从而进行编码活动,基于元数据的编程很多时候被忽视,但是使用元数据有时候会很方便,尤其是在做AS3反射,和写框架的时候.
describeType 实现actionscript语言的反射,这样通过元数据可以进行更多的编程.
在使用自定义元数据时,需要在flex sdk的编译参数里面添加.
-keep-as3-metadata+=MyMetadata
注意是+= ,如果写成=就会覆盖很多原生自带的元数据标签,从而导致出问题
转自: