自定义对象Vector的AS3序列化

时间:2010-03-26 03:41:03

标签: flex flash actionscript-3 serialization vector

什么是新Vector类的序列化支持?我有一个Vector.<GameMove>,我想将其序列化为ByteArrayGameMove是自定义类。

我认为有必要在registerClassAlias()上致电GameMove,但我是否还必须注册Vector.<GameMove>?它是它自己独特的类型,还是由这两种类型组成的?

2 个答案:

答案 0 :(得分:0)

发送者始终可以控制序列化对象时使用的类。例如,Fluorine会将在.NET中实现IList的任何内容作为ArrayCollection发送到Flex客户端或Array发送到Flash客户端。在这种情况下,除了使用ArrayCollection或Array之外没有其他选项。

其他AMF实施可能会有所不同。氟处理最后注册了类别名,但其他人可能会先执行此操作。所以是否是Vector。&lt;&gt;将被正确序列化两种方式取决于您正在使用的服务器。

了解它是否适​​用于您的服务器的最佳方法是测试它。然后,如果它不起作用,请询问更具体的问题,以确定是否存在解决方法或是否将其视为错误。

答案 1 :(得分:0)

事实证明,不是,除了它包含的类型之外,持有自定义类型的向量不需要注册为“对”。

事实上,Vector根本不需要注册 - 它似乎只是它所持有的类型。至少在我的情况下序列化为ByteArray(当然是AMF3)。


但是,除此之外,我发现了一个非常奇怪的问题,即Array的子​​类无法反序列化。我会在seperate question中发布此内容。