【问题标题】:Problems with binary deserialization - can anyone help?二进制反序列化的问题 - 任何人都可以帮忙吗?
【发布时间】:2010-10-10 04:31:17
【问题描述】:

我和这篇文章有同样的问题:

http://social.microsoft.com/Forums/en-US/netfxbcl/thread/10027dd8-da47-4691-91a6-a8b89a7f514a

有人知道可能的答案/解决方案吗?有趣的是,我的可序列化类中有 2 个集合(二进制序列化)。一个是列表,一个是字典。 List 集合没问题,Dictionary 在 [Deserialized] 方法上返回 0 作为 Count 属性。

更诡异的是,反序列化后,使用类对象就OK了。针对 Dictionary 集合的所有单元测试都通过了。这让我很沮丧,因为我想在反序列化后立即使用 Dictionary 对象,但由于这个奇怪的错误我不能。有人可以帮忙吗?

【问题讨论】:

  • 你能发布一些代码吗?您可能会错过一千双眼睛可能会发现的东西。

标签: c# serialization dictionary


【解决方案1】:

是的;见here;你只需要让字典完成反序列化:

public void OnDeserialization(object sender)
{
        this.Dictionary.OnDeserialization(sender);
}

【讨论】:

  • 你不知道我在这上面花了多少时间。非常感谢你。我终于可以休息了,继续编写很酷的功能。
  • 这个,这个,一千倍!还想补充一点,这也适用于使用 [OnDeserialized] 方法归因的方法,只需将 StreamingContext 作为发送者传递。
猜你喜欢
  • 2011-07-10
  • 1970-01-01
  • 1970-01-01
  • 2016-04-29
  • 2015-05-09
  • 1970-01-01
  • 2023-04-07
  • 2023-04-01
  • 1970-01-01
相关资源
最近更新 更多