将我的类列表序列化为 Windows Phone 独立存储
本文关键字:Windows Phone 独立 存储 序列化 我的 列表 | 更新日期: 2023-09-27 18:33:23
我正在使用 .net XmlSerializer 类将游戏的状态序列化到独立存储中。
这让我可以避免用大量的属性搞砸我的代码。
每当我尝试序列化公共数据结构的列表时,我都会收到异常:
"序列化类型 GameState_test 的对象时检测到循环引用。星球"
我该如何解决这个问题?我已经研究了大量的答案,但没有一个与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
}
您使用的
序列化程序不支持序列化循环引用。切换到 DataContract 序列化程序 (System.Runtime.Serialization) 并遵循以下指南:http://blogs.msdn.com/b/sowmy/archive/2006/03/26/561188.aspx
或者使用支持它的第三方序列化程序。