我正在尝试在基于控制台的游戏中实现一项功能,以保存状态并在需要时通过序列化将其加载回去。
如果我使用obj = (objType)BinaryFormatter.Deserialize(FileStream);
反序列化对象,是否可以通过简单地执行obj.objMethod()
来使用该对象可用的方法,或者我还缺少其他步骤?
例如:
Game game = new Game();
假设游戏类具有Map()
方法。然后我将游戏对象序列化。
BinaryFormatter.Serialize(FileStream, game);
然后我反序列化
Game savedGame = (Game)BinaryFormatter.Deserialize(FileStream);
我可以这样做:
savedGame.Map();
答案 0 :(得分:1)
是的,您可以在C#中执行此操作。与Typescript或其他松散类型的语言不同,C#实际上创建对象,然后在反序列化时分配值。
但是在问问题之前,您应该尝试这样做。