如何使用反序列化对象c#
我试图在基于控制台的游戏中实现一个函数,以保存状态,并在需要时通过序列化将其加载回 如果我使用如何使用反序列化对象c#,c#,deserialization,C#,Deserialization,我试图在基于控制台的游戏中实现一个函数,以保存状态,并在需要时通过序列化将其加载回 如果我使用obj=(objType)BinaryFormatter.deserialize(FileStream)反序列化一个对象我可以通过简单地执行obj.objMethod()来使用对象可用的方法吗?或者我还缺少另一个步骤吗? 例如: Game game = new Game(); 假设游戏类有一个Map()方法。我序列化了游戏对象 BinaryFormatter.Serialize(FileStream,
obj=(objType)BinaryFormatter.deserialize(FileStream)反序列化一个对象
我可以通过简单地执行obj.objMethod()
来使用对象可用的方法吗?或者我还缺少另一个步骤吗?
例如:
Game game = new Game();
假设游戏类有一个Map()
方法。我序列化了游戏对象
BinaryFormatter.Serialize(FileStream, game);
我反序列化了它
Game savedGame = (Game)BinaryFormatter.Deserialize(FileStream);
我可以做:
savedGame.Map();
是的,你可以用C#做。与Typescript或其他松散类型语言不同,C#实际上创建对象,然后在反序列化时赋值
但是在问这个问题之前,你应该试着这样做。我不完全理解这个问题
savedGame
是一款游戏
,因此您当然可以在上面调用Map
。你到底在担心什么?当你序列化你的整个游戏对象时,是的,这应该是可行的。在你做的太多之前,你有没有考虑过用一种更友好的格式保存状态?例如JSON?在发布问题之前,您应该至少尝试执行一次代码,然后发布您面临的特定问题。