0

我正在使用 .net XmlSerializer 类将我的游戏状态序列化到独立存储中。
这使我可以避免使用大量属性来混淆我的代码。

每当我尝试序列化我的公共数据结构列表时都会遇到异常:
“在序列化 GameState_test.Planet 类型的对象时检测到循环引用”

我该如何解决?我研究了很多答案,但没有一个与 WP7 相关。

public class Hazard { public Planet CurrentPlanet;} //reference to the planet its on

public struct Inventory
{
    public Inventory(int coins = 0, int arrows = 0) { Coins = coins; Arrows = arrows; }

    public int Coins;
    public int Arrows;
}

public class Planet
    {
        public Inventory Inventory;
        internal readonly int Index;              
        internal readonly List<int> Connections;  
        public Hazard pHazard; //hazard currently on planet
    }
4

1 回答 1

1

您使用的序列化程序不支持序列化循环引用。切换到 DataContract 序列化程序 (System.Runtime.Serialization) 并遵循本指南: http: //blogs.msdn.com/b/sowmy/archive/2006/03/26/561188.aspx
或使用支持的第三方序列化程序它。

于 2012-05-06T09:27:09.437 回答