我如何使用反序列化对象C#

时间:2019-05-08 12:22:33

标签: c# deserialization

我正在尝试在基于控制台的游戏中实现一项功能,以保存状态并在需要时通过序列化将其加载回去。

如果我使用obj = (objType)BinaryFormatter.Deserialize(FileStream);反序列化对象,是否可以通过简单地执行obj.objMethod()来使用该对象可用的方法,或者我还缺少其他步骤? 例如:

Game game = new Game();

假设游戏类具有Map()方法。然后我将游戏对象序列化。

BinaryFormatter.Serialize(FileStream, game);

然后我反序列化

Game savedGame = (Game)BinaryFormatter.Deserialize(FileStream);

我可以这样做:

savedGame.Map();

1 个答案:

答案 0 :(得分:1)

是的,您可以在C#中执行此操作。与Typescript或其他松散类型的语言不同,C#实际上创建对象,然后在反序列化时分配值。

但是在问问题之前,您应该尝试这样做。