AS3.0中自定义matedata

news/2024/7/6 6:26:49

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())返回:

 1 <type name="MyClass" base="Object" isDynamic="false" isFinal="false" isStatic="false">
 2   <extendsClass type="Object"/>
 3   <variable name="a" type="String">
 4     <metadata name="MyMatedata">---------------------------------->自定义元数据
 5       <arg key="name" value="ha"/>
 6       <arg key="name2" value="haha2"/>
 7     </metadata>
 8     <metadata name="__go_to_definition_help">
 9       <arg key="pos" value="108"/>
10     </metadata>
11   </variable>
12   <method name="getA" declaredBy="MyClass" returnType="void">
13     <metadata name="__go_to_definition_help">
14       <arg key="pos" value="189"/>
15     </metadata>
16   </method>
17   <metadata name="__go_to_ctor_definition_help">
18     <arg key="pos" value="137"/>
19   </metadata>
20   <metadata name="__go_to_definition_help">
21     <arg key="pos" value="26"/>
22   </metadata>
23 </type> 

 

这样就可以通过给类添加元数据从而进行编码活动,基于元数据的编程很多时候被忽视,但是使用元数据有时候会很方便,尤其是在做AS3反射,和写框架的时候.

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

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

 -keep-as3-metadata+=MyMetadata

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

 

转自:http://sswilliam.blog.163.com/blog/static/18969638320116103225397/ 

转载于:https://www.cnblogs.com/MATRIX42/archive/2012/08/04/2622646.html


http://www.niftyadmin.cn/n/4254513.html

相关文章

redies常用命令

如果要使用多台redies端口就要多复制几个redies 然后将其中的redies.conf文件中端口修改一下即可 启动redies,j进入到启动文件夹子中 redis-server ./redis.conf #如果更改了端口&#xff0c;使用redis-cli客户端连接时&#xff0c;也需要指定端口&#xff0c;例如&#xff1a;…

VB中如何修改treeview的背景色

改变 TreeView 的背景 Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long Private Declare Function GetWindowLong Lib "User3…

三台服务器信息共享,三台服务器共享使用一个弹性ip

三台服务器共享使用一个弹性ip 内容精选换一换会话保持&#xff0c;指负载均衡器可以识别客户与服务器之间交互过程的关联性&#xff0c;在实现负载均衡的同时&#xff0c;保持将其他相关联的访问请求分配到同一台服务器上。会话保持有什么作用呢&#xff0c;举例说明一下&…

关于VS2008/2010中SORT,stable_sort的比较函数中strict weak ordering

在VS2008/2010中SORT&#xff0c;stable_sort的比较函数是strict weak ordering。当比较的时候出现元素相等的情况是编译器默认必须返回false&#xff0c;而如果在自定义比较函数时&#xff0c;将相等返回true。将会出现invalid operator<的异常。 注意&#xff1a;这种异常…

lv扩展磁盘空间

2019独角兽企业重金招聘Python工程师标准>>> 1、查看磁盘空间&#xff0c;有一部分没有加进来 [rootlocalhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/rootvg-lvroot 29G 7.1G 21G 26% / tmpfs …

TreeView 控件应用详解

TreeView 控件应用详解TreeView控件是在VFP的数据处理中很有用的一个ActiveX 控件,但是VFP的帮助中却没有相关的说明&#xff0c;为帮助大家对这一控件有一个详细的了解&#xff0c;现将TreeView控件应用详解如下&#xff1a;一、概述  TreeView控件显示Node对象的分层列表…

查看存储服务器被挂载的位置,存储服务器挂载服务器

存储服务器挂载服务器 内容精选换一换本章节指导用户挂载已有数据的系统盘。系统盘目前支持离线挂载&#xff0c;即云服务器处于“关机”状态&#xff0c;才可以挂载系统盘。您可以在磁盘列表中查看磁盘属性&#xff0c;只有当磁盘属性为“启动盘”&#xff0c;并且磁盘状态为“…

SQL语句的自动优化

在数据库应用系统中编写可执行的SQL语句可以有多种方式实现&#xff0c;但哪一条是最佳方案却难以确定。为了解决这一问题&#xff0c;有必要对SQL实施优化。简单地说&#xff0c;SQL语句的优化就是将性能低下的SQL语句转换成达到同样目的的性能更好的SQL语句。 优化SQL语句的…