我正在为使用c# xna开发的游戏进行保存和加载方面的工作。我有一个长长的类数组列表,我试图对其进行序列化,但是我遇到了其中一个类的问题。我已经按照以下方式编写了该类:
[ProtoContract]
public class CompleteTile
{
int _id;
[ProtoMember(1)]
public int ID
{
get { return _id; }
set { _id = value; }
}
bool _Passable;
[ProtoMember(2)]
public bool Passable
{
get { return _Passable; }
set { _Passable = value; }
}
我可以成功地使用序列化技术对它进行处理。
using (var stream = File.OpenWrite("" + saveDestination + "level.dat"))
{ Serializer.Serialize(stream, Globals.levelArray); }
但是当我尝试反序列化时,出现以下错误 - 类型未被预期,无法推断出任何契约:GameName1.CompleteTile[,,]
反序列化代码 -
using (var stream = File.OpenRead("" + loadDestination + "level.dat"))
{ Globals.levelArray = Serializer.Deserialize<CompleteTile[, ,]>(stream); }
我怀疑这是因为它是一个多维数组,但我不确定,非常感谢您的帮助。