zoukankan      html  css  js  c++  java
  • Actionscript 3 自定义 matedata

    metadata就是元数据

    反应一个类本质的属性

    可以通过describeType(obj)来得到反应该对象的xml

    要自定义元数据,如[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");   }  } }

    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>

    这样就可以通过给类添加元数据从而进行编码活动

    基于元数据的编程很多时候被忽视,但是使用元数据有时候会很方便,尤其是在做AS3反射 和写框架的时候

    describeType 实现actionscript语言的反射,这样通过元数据可以进行更多的编程

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

    -keep-as3-metadata+=MyMetadata

    注意是+=

    如果写成=就会覆盖很多原生自带的元数据标签,从而导致出问题

  • 相关阅读:
    嵌入式设备之web服务器
    动环监控的设备架构设计
    墓碑机制
    淘宝APP消息推送模型
    Service Mesh架构的持续演进 单体模块化 SOA 微服务 Service Mesh
    网关架构演进之路
    理解了云原生,才能正确迎接云时代的到来 | 技术前沿 百度智能云 2019-09-10
    策略模式 VS 状态模式
    权限管理机制支持多种访问控制模型。
    二维码生成服务架构的演进与思考
  • 原文地址:https://www.cnblogs.com/keng333/p/3225119.html
Copyright © 2011-2022 走看看