2010-03-26 58 views
0

類似於新的Vector類的序列化支持是什麼?我有一個Vector.<GameMove>,我想序列化爲ByteArrayGameMove是一個自定義類。自定義對象的矢量的AS3序列化

我認爲這是必需致電registerClassAlias()GameMove,但我也必須註冊Vector.<GameMove>?這是它自己的獨特類型,還是它是由這兩種類型組成的?

回答

0

事實證明,不,持有自定義類型的向量不需要註冊爲「對」,除了它包含的類型。

實際上,Vector根本不需要註冊,看起來 - 只是它所持有的類型。至少在我的情況下,序列化爲ByteArray(當然是AMF3)。


但是,我發現了一個非常奇怪的問題,Array的子​​類無法反序列化。我會在seperate question中發佈。

0

發送方始終可以控制序列化對象時使用的類。例如,Fluorine會將.NET中的IList作爲ArrayCollection實現到Flex客戶端或將Array發送到Flash客戶端。在這種情況下,除了使用ArrayCollection或Array之外別無選擇。

其他AMF實現可能會有所不同。氟化過程最後註冊了別名,但其他人可能會先做。所以無論Vector。 <>將正確序列化兩種方式取決於您使用的服務器。

要知道它是否適用於您的服務器,最好的方法就是測試它。然後,如果它不起作用,請提出更具體的問題,以瞭解是否有解決方法或是否將其視爲錯誤。

+0

謝謝,山姆。雖然我實際上並沒有序列化到服務器,只是進入ByteArray進行持久化,所以這是amf3的內部「玩家」實現對我而言很重要。 – aaaidan 2010-03-28 22:47:35

相關問題