加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flash.net.registerClassAlias类

发布时间:2020-12-15 06:41:26 所属栏目:百科 来源:网络整理
导读:registerClassAlias 当以 Action Message Format (AMF) 对一个对象进行编码时,保留该对象的类(类型)。将对象编码为 AMF 时,该函数将保存该对象的类的别名,以便在解码对象时可以恢复该类。如果编码上下文没有为对象的类注册别名,该对象将被编码为一个匿

registerClassAlias




当以 Action Message Format (AMF) 对一个对象进行编码时,保留该对象的类(类型)。将对象编码为 AMF 时,该函数将保存该对象的类的别名,以便在解码对象时可以恢复该类。如果编码上下文没有为对象的类注册别名,该对象将被编码为一个匿名对象。同样,如果解码上下文注册了不同的别名,将为解码后的数据创建一个匿名对象。

LocalConnection、ByteArray、SharedObject、NetConnection 及 NetStream 均为将对象编码为 AMF 的类的示例。

编码和解码上下文不必对别名使用相同的类。它们可以主动地改变类,条件是目标类包含源类序列化的所有成员。

参数


aliasName:String?— 要使用的别名。


classObject:Class?— 与给定别名相关联的类。

示例 ?(?如何使用本示例?)?

此示例使用?registerClassAlias()?函数为 ExampleClass 注册一个别名 (?com.example.eg?)。由于为类注册了别名,因此可以将对象作为 ExampleClass 的实例反序列化,且代码将输出?true。如果删除registerClassAlias()?调用,则代码将输出?false
package { ? ? import flash.display.Sprite; ? ? import flash.net.registerClassAlias; ? ? import flash.utils.ByteArray; ? ? public class RegisterClassAliasExample extends Sprite { ? ? ? ? public function RegisterClassAliasExample() { ? ? ? ? ? ? registerClassAlias("com.example.eg",ExampleClass); ? ? ? ? ? ? var eg1:ExampleClass = new ExampleClass(); ? ? ? ? ? ? var ba:ByteArray = new ByteArray(); ? ? ? ? ? ? ba.writeObject(eg1); ? ? ? ? ? ? ba.position = 0; ? ? ? ? ? ? var eg2:* = ba.readObject(); ? ? ? ? ? ? trace(eg2 is ExampleClass); // true ? ? ? ? } ? ? } } class ExampleClass {}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读