我有一个类维护对哈希表的引用并序列化/反序列化该哈希表。在调用SerializationInfo.GetValue之后,Hashtable没有完全反序列化,因为反序列化发生在IDeserialization回调期间。Hashtablehashtable=(Hashtable)info.GetValue("hash",typeof(Hashtable));我还在父类中实现了IDeserialization回调,但是Hashtable也没有完全反序列化。如果反序列化是从内到外发生的,我预计会是这样。我的问题是,从父类的OnDeserialization方法显式调用Hashtable.OnD
我在.NET的二进制序列化中遇到了一个奇怪的行为,至少符合我的预期。在OnDeserialization回调之后,加载的Dictionary的所有项目都被添加到它们的父级。相比之下,List则采用另一种方式。这在现实世界的存储库代码中可能真的很烦人,例如,当您需要向字典项添加一些委托(delegate)时。请检查示例代码并观察断言。这是正常行为吗?[Serializable]publicclassData:IDeserializationCallback{publicListList{get;set;}publicDictionaryDictionary{get;set;}public
我有一个问题,我在三个小时的大部分时间里一直在努力解决这个问题。我几乎可以肯定我错过了一些非常明显的东西......我有一个简单的XML文件:我有一个简单的类结构:[Serializable]publicclassRecord{[XmlAttribute("actual")]publicdoubleweight{get;set;}[XmlAttribute("date")]publicDateTimedate{get;set;}[XmlIgnore]publicdoubletrend{get;set;}}[Serializable][XmlRoot("WeightStore")]pub
我有一个问题,我在三个小时的大部分时间里一直在努力解决这个问题。我几乎可以肯定我错过了一些非常明显的东西......我有一个简单的XML文件:我有一个简单的类结构:[Serializable]publicclassRecord{[XmlAttribute("actual")]publicdoubleweight{get;set;}[XmlAttribute("date")]publicDateTimedate{get;set;}[XmlIgnore]publicdoubletrend{get;set;}}[Serializable][XmlRoot("WeightStore")]pub