flexAMF3中序列化和反序列化的Alias机制

很多人翻译Alias为“别名”,不太好,在金山词霸中还有另外一个意思“双面女间谍”,很形象。环境:服务器端使用java,客户端使用as3。

1)声明我的as3对象A是可以被强制转换为服务器端的java对象B的

在对象中使用

[RemoteClass(alias="B")]

public class A{
....
}

 另外一种,在application中,module或者调用远程RemoteObject前使用:

 

registerClassAlias("B", A)

 注:据网上资料说第一种使用元数据标签的内部实现是第二种。

 

 

2)怎么知道一个类是否有“别名”。使用方法:

一种方法getClassByAlias(aliasName:String):Class

二种方法,使用反射:

override protected function encodeComplex(o:Object, b:IBinary, context:IContext=null):void
{
                var desc:XML = describeType(o);
                var classAlias:String = desc.@alias;
                //...
}
 

3)使用“别名”解决序列化时碰到的不能转换的错误。

 

要是有本《actionscript编程思想》就好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值