- 浏览: 330558 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wangjun0603:
学习了,写的真好!
native2ascii的简单应用 -
qq672076266:
...
native2ascii的简单应用 -
loyalboys:
...
native2ascii的简单应用 -
hanjinting1004:
...
Flex开发者需要知道的10件事 -
管好你家猫:
学了,文章,
native2ascii的简单应用
import flash.utils.getDefinitionByName; import flash.utils.getQualifiedClassName; import flash.utils.getQualifiedSuperclassName; 1.获取实例的类名: public function getQualifiedClassName(value:*):String 1.获取实例的超类 public function getQualifiedSuperclassName(value:*):String 3.通过类的名字获取到Class对象 public function getDefinitionByName(name:String):Object 4.通过Class对象获取实例 比如 var cls:Class =getDefinitionByName(“mx.controls::TextInput”) as Class; var txtinput:TextInput =new cls() as TextInput; txtinput.text=“test”; co1.addChild(txtinput); 5.获取类的信息:字段、方法 public function describeType(value:*):XML 生成一个 XML 对象来描述参数中指定的 ActionScript 对象, 这个方法使 ActionScript 实现了反射编程的概念. 1. var dummy:Dummy = new Dummy(); var instanceInfo:XML = describeType(dummy); var properties:XMLList = instanceInfo..accessor.(@access != ”writeonly”) + instanceInfo..variable; for each (var propertyInfo:XML in properties) …{ var propertyName:String = propertyInfo.@name; trace(dummy[propertyName]); } 2. var sprite1:Sprite = new Sprite(); var instanceInfo:XML = describeType(sprite1); 3. package …{ import flash.utils.describeType; import flash.utils.getQualifiedClassName; import flash.utils.getDefinitionByName; /** *//** * 使用 flash.utils.describeType 获取类详细信息并缓存 * @author kakera * */ public class TypeDescriptor …{ /** *//** * 缓存已经反射过了的对象 */ private static var typeCache:Object = new Object(); /** *//** * 获取类信息 * @param target 要获取的目标对象 * @return TypeDescriptorEntry 实例 * */ public static function describeType (target:*):TypeDescription …{ var className:String = getQualifiedClassName(target); /** *//** * 检查缓存中是否已经有目标对象项, 如果有就返回缓存中的内容 */ if (className in typeCache) return typeCache[className]; /** *//** * 暂存属性列表 */ var propertyNames:Array = []; /** *//** * 获取类信息, 如果传入的是实例则获取实例类型的类信息 */ var typeInfo:XML = flash.utils.describeType(target is Class ? target : getDefinitionByName(className) as Class); /** *//** * 获取类中所有的属性和访问器 */ var properties:XMLList = typeInfo.factory..accessor.(@access != ”writeonly”) + typeInfo..variable; /** *//** * 遍历并存放到 propertyNames 中 */ for each (var propertyInfo:XML in properties) propertyNames.push(propertyInfo.@name); /** *//** * 创建 TypeDescriptorEntry 的实例并把 propertyNames 等属性丢进去 */ var entry:TypeDescription = new TypeDescription(); entry.name = className; entry.properties = propertyNames; entry.typeInfo = typeInfo; /** *//** * 缓存到 typeCache 中以便下次从缓存中读取 */ typeCache[className] = entry; return entry; } /** *//** * 静态类无须实例化 * @return * */ public function TypeDescriptor () …{ } } } TypeDescription.as, 负责保存信息 package …{ public class TypeDescription …{ /** *//** * 类的属性列表, 包括访问器 (accessor) 和变量 (variable) */ public var properties:Array; /**//* of String */ /** *//** * 类名 */ public var name:String; /** *//** * 由 flash.utils.describeType() 获取的原始 XML 数据 */ public var typeInfo:XML; public function TypeDescription () …{ } } }
more:http://www.ibm.com/developerworks/cn/web/0908_liuqing_flex_reflect/index.html
发表评论
-
应用避免访问浏览器缓存
2011-05-12 17:33 1327项目经常遇到这么个问题:程序做了改动之后,由于浏览 ... -
flex皮肤资源
2011-05-05 15:28 1277如果要找flex皮肤,这里的皮肤真是多。http: ... -
flex利用asdoc生成doc和制作chm
2011-04-02 17:33 1603How to set up ASDoc in Flex Bui ... -
restrict的应用实例
2011-04-02 11:54 10971. 限制某个字符的输入,用符号 ^ 跟上要限制的 ... -
flex中as、instanceof、is、 typeof用法
2011-03-24 09:48 4527“as” 我主要用它做类型转化 假设有一个类叫做 ... -
在Chart上画平均线的三种方法
2011-02-16 14:52 1389在Chart上画平均线的三种方法 ... -
Flex Frameworks
2010-11-12 15:32 975Some say that if a t ... -
flex4国际化
2010-11-11 16:56 2092国际化变得如此简单 <?xml versi ... -
使用ToolTipManager自定义tooltip
2010-11-05 14:52 2587直接贴代码,一看就懂。 <?xml version=& ... -
flex 校验
2010-11-05 14:41 1004①flex中的校验可以使用mx.validator ... -
Flex中的fx、mx和s命名空间
2010-11-05 13:12 3343Flex 4带给我们的 ... -
socket中writeUTF和writeUTFBytes的区别
2010-11-03 10:25 2769Q:用writeUTF发送数据的时候,后台多 ... -
修改flex默认loading
2010-10-18 13:51 2488一: SWF Flex 2 PreloaderSWF ... -
AIR文件操作
2010-09-26 10:01 2882AIR文件操作(一):AIR文件基础 AI ... -
ActionScript 3.0 Socket编程
2010-09-17 17:25 1146在使用ActionScript3.0进行编程的时候需要注 ... -
as 对象深度拷贝
2010-08-20 10:32 959这是一篇关于as3中对象深度拷贝的问题今天自己总结下,便 ... -
Create a FlexUnit TestCase
2010-04-29 20:34 1004Problem How to create a Fle ... -
as3corelib
2010-04-29 20:10 1463google code :http://code. ... -
FusionCharts
2010-04-28 19:26 2344无意中接触到这个产品FusionCharts,3D ... -
flex datagrid自动换行
2010-04-19 17:10 2860以为datagrid的自动换行有多复杂,其实 ...
相关推荐
Flex 反射示例 代码简洁明了
Flex 开发类的反射
本文档主要讲述的是Flex前端与Java服务端交互反射机制;Flex作为RIA的一支,提供了非常丰富多彩的客户端实现,并且编写起
由于 BlazeDS 需要将 Java 接口 FlexService 暴露给 Flex 前端,因此,我们在配置文件 remoting-config.xml 中将 FlexService 接口声明为一个服务: 清单 6. 定义 flexService 服务 <destination id="flex...
由于 BlazeDS 需要将 Java 接口 FlexService 暴露给 Flex 前端,因此,我们在配置文件 remoting-config.xml 中将 FlexService 接口声明为一个服务: 清单 6. 定义 flexService 服务 <destination id="flex...
无需自己找镜子Shader,只需2个脚本即可在Unity中创建一个简单的模拟镜面反射效果。 使用教程链接:https://blog.csdn.net/ChinarCSDN/article/details/80862999
學習Java的人,知道java中反射的强大,使用Flex是學習他的反射机制,发现有开源组件As2Commons实现flex的反射机制.
flex倒影特效
中国知网购买的论文提供分享。是毕业论文。nh格式需要用CAJViewer软件打开。这个文章不错哦。 1.1论文的研究背景.............................1.2Flex与Caimgorm框架的研究现状.......4.2.2在控制器中增加反射机制......
反射扫描仪生成器工具生成线程安全的干净的词法分析器类代码。 生成Graphviz文件以可视化状态机DFA。 RE / flex与Bison无缝配合。 语言:C ++许可证:BSD-3代码质量:A + ...
用于在flex中缓存加载swf文件。 可用于组件模块化加载。加载完成的组件,下次加载可直接从SWFCache中根据url获取相应内容,避免重复加载 单个加载方式 var item:SWFItem = new SWFItem(); item.url = "module/...
flex中可以通过SystemManger监控用户是否和程序打交道
关于 Re-F|ex Re-F|ex 是我创建的一个基于 React flex 的布局组件库,因为我在那里发现的组件都不能满足我的要求。 它旨在以一种简单的方式满足需要可调整大小的布局的高级 React Web 应用程序的需求。 这是一个基本...
本着开发类似于 Nvidia 的 FleX 框架的小演示的精神,几篇论文的 CUDA/C++ 实现( ) 部分或全部实施的论文: 基于位置的流体 - 基于位置的动力学 - 统一粒子物理 - 远程附件 - 用于基于粒子的流体的统一喷雾...
反射盒响应式React Flexbox网格系统产品特点简单的API,可快速控制布局帮助提升可组合性和关注点分离内置CSS-in-JS-没有外部依赖仅生成渲染所需CSS入门npm install reflexboximport React from ' react 'import { ...
import { FlexBox , FlexRow , FlexColumn , FlexItem , Spacer , asFlexItem } from 'react-reflex-layout' ;import MyComponentHeader from '../MyComponentHeader' ;import MyComponentFooter from '../...
利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法 asp.net报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到基本存储过程生成 使用SQLDMO控制 SQL Server 使用SQL...