【发布时间】:2016-12-02 21:07:10
【问题描述】:
又是我,我还有另一个问题。在某处,我发现了以下代码:
private T DeepDeserialize<T>(string fileName)
{
T returnValue;
using (FileStream str = new FileStream(fileName, FileMode.Open))
{
BinaryFormatter binaryFormatter = new BinaryFormatter();
returnValue = (T)binaryFormatter.Deserialize(str);
}
return returnValue;
}
我今天和现在修改了一些类,它总是抛出一个错误,可以这样翻译:Before completing the analysis was detected ending stream(我不知道正确的翻译,错误信息是我的语言,而不是英语)
我尝试在using 的这两行之间插入str.Position = 0;,这是我在这里某处找到的,但没有帮助。
有人可以帮我让它再次工作吗?我不知道该怎么办...
【问题讨论】:
-
如果你修改了你的类,你不能再从旧文件反序列化它们,你必须先序列化它们
-
哦,谢谢!我忘了重新制作我的文件 :-) 多么愚蠢的错误,对吧?再次感谢。我可以请您再次发布此帖子作为此帖子的答案,以便我可以将其标记为答案吗? :-)
-
当然,有一些限制,我必须等待几分钟才能接受
标签: c# binary-serialization binary-deserialization