Actionscript 3 自定义 matedata

metadata就是元数据编程

反应一个类本质的属性框架

能够经过describeType(obj)来获得反应该对象的xmlflex

要自定义元数据,如[MyMatedata()]编码

package {  public class MyClass extends Object  {   [MyMatedata(name="ha",name2="haha2")]   public var a:String;   public function MyClass()   {    super();   }   public function getA():void{    trace("dd");   }  } }xml

describeType(new MyClass())返回:对象

<type name="MyClass" base="Object" isDynamic="false" isFinal="false" isStatic="false">   <extendsClass type="Object"/>   <variable name="a" type="String">     <metadata name="MyMatedata">---------------------------------->自定义元数据       <arg key="name" value="ha"/>       <arg key="name2" value="haha2"/>     </metadata>     <metadata name="__go_to_definition_help">       <arg key="pos" value="108"/>     </metadata>   </variable>   <method name="getA" declaredBy="MyClass" returnType="void">     <metadata name="__go_to_definition_help">       <arg key="pos" value="189"/>     </metadata>   </method>   <metadata name="__go_to_ctor_definition_help">     <arg key="pos" value="137"/>   </metadata>   <metadata name="__go_to_definition_help">     <arg key="pos" value="26"/>   </metadata> </type>ip

这样就能够经过给类添加元数据从而进行编码活动get

基于元数据的编程不少时候被忽视,可是使用元数据有时候会很方便,尤为是在作AS3反射 和写框架的时候it

describeType 实现actionscript语言的反射,这样经过元数据能够进行更多的编程io

在使用自定义元数据时,须要在flex sdk的编译参数里面添加

-keep-as3-metadata+=MyMetadata

注意是+=

若是写成=就会覆盖不少原生自带的元数据标签,从而致使出问题

相关文章
相关标签/搜索