flash.net.registerClassAlias类
发布时间:2020-12-15 06:41:26 所属栏目:百科 来源:网络整理
导读:registerClassAlias 当以 Action Message Format (AMF) 对一个对象进行编码时,保留该对象的类(类型)。将对象编码为 AMF 时,该函数将保存该对象的类的别名,以便在解码对象时可以恢复该类。如果编码上下文没有为对象的类注册别名,该对象将被编码为一个匿
当以 Action Message Format (AMF) 对一个对象进行编码时,保留该对象的类(类型)。将对象编码为 AMF 时,该函数将保存该对象的类的别名,以便在解码对象时可以恢复该类。如果编码上下文没有为对象的类注册别名,该对象将被编码为一个匿名对象。同样,如果解码上下文注册了不同的别名,将为解码后的数据创建一个匿名对象。 LocalConnection、ByteArray、SharedObject、NetConnection 及 NetStream 均为将对象编码为 AMF 的类的示例。 编码和解码上下文不必对别名使用相同的类。它们可以主动地改变类,条件是目标类包含源类序列化的所有成员。 参数
示例 ?(?如何使用本示例?)?
此示例使用?
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 {}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |