浏览 2087 次
锁定老帖子 主题:Flex 获得注解信息
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-02-25
最后修改:2010-02-25
原文看这里 1. 配置编译器 对于新的Flex项目:在"additional compiler arguments(附加的编译器参数)"中添加 "-keep-as3-metadata = Meta1,Meta2"。注意,使用逗号来分隔不同的元数据标签。 提示:如果项目是ActionScript Library,则添加"keep-as3-metadata"作为附加的参数,然后将编译好的SWC载入项目,直接使用定义的元数据标签即可,无需再在"additional compiler arguments"中设置附加参数。 2.使用元数据标签 示例: package { [Meta2(param1 = "param 1 value")] public class TestClass { [Meta1(param1 = "param 1 value", param2 = "param 2 value")] public var test1:String; [Meta2(paramA = "param 1 value", paramB = "param 2 value")] public function get test2():String { return null; } public function set test2(val:String):void { } [Meta1(param1 = "param 1 value")] public function someMethod():void { }; } } 3. 在运行时使用元数据 只需调用describeType(TestClass)并使用E4X在结果中查找所需的数据即可 <type name="TestClass" base="Class" isDynamic="true" isFinal="true" isStatic="true"> <extendsClass type="Class"/> <extendsClass type="Object"/> <accessor name="prototype" access="readonly" type="*" declaredBy="Class"/> <factory type="TestClass"> <metadata name="Meta2"> <arg key="param1" value="param 1 value"/> </metadata> <extendsClass type="Object"/> <method name="someMethod" declaredBy="TestClass" returnType="void"> <metadata name="Meta1"> <arg key="param1" value="param 1 value"/> </metadata> </method> <variable name="test1" type="String"> <metadata name="Meta1"> <arg key="param1" value="param 1 value"/> <arg key="param2" value="param 2 value"/> </metadata> </variable> <accessor name="test2" access="readwrite" type="String" declaredBy="TestClass"> <metadata name="Meta2"> <arg key="paramA" value="param 1 value"/> <arg key="paramB" value="param 2 value"/> </metadata> </accessor> </factory> </type> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |