我在序列化的时候它报错:“程序集“MyGame, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”中的类型“MyGame.Game”未标记为可序列化。”
这是怎么回事啊?
下面是我序列化的代码:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Drawing;
using System.Runtime.Serialization.Formatters.Binary;namespace MyGame
{
[Serializable]
/*保存游戏的进度*/
public class GameManager
{
//构造函数
public GameManager()
{
this.Game = new Game();
}
private Game _game;
public Game Game
{
get { return _game; }
set { _game = value; }
} /// <summary>
/// 保存游戏
/// </summary>
public void Save()
{
FileStream fs = new FileStream("user.game",FileMode.Create);//创建文件流
//二进制格式化
BinaryFormatter bf = new BinaryFormatter();
//序列化
bf.Serialize(fs,this._game);
fs.Close();//关闭文件流
}
/// <summary>
/// 读取游戏
/// </summary>
public void Load()
{
FileStream fs = new FileStream("user.game",FileMode.Create);//创建文件流
//二进制格式化
BinaryFormatter bf = new BinaryFormatter();
//反序列化
Game = (Game)bf.Deserialize(fs);
fs.Close();
}
}
}
这是怎么回事啊?
下面是我序列化的代码:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Drawing;
using System.Runtime.Serialization.Formatters.Binary;namespace MyGame
{
[Serializable]
/*保存游戏的进度*/
public class GameManager
{
//构造函数
public GameManager()
{
this.Game = new Game();
}
private Game _game;
public Game Game
{
get { return _game; }
set { _game = value; }
} /// <summary>
/// 保存游戏
/// </summary>
public void Save()
{
FileStream fs = new FileStream("user.game",FileMode.Create);//创建文件流
//二进制格式化
BinaryFormatter bf = new BinaryFormatter();
//序列化
bf.Serialize(fs,this._game);
fs.Close();//关闭文件流
}
/// <summary>
/// 读取游戏
/// </summary>
public void Load()
{
FileStream fs = new FileStream("user.game",FileMode.Create);//创建文件流
//二进制格式化
BinaryFormatter bf = new BinaryFormatter();
//反序列化
Game = (Game)bf.Deserialize(fs);
fs.Close();
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货