我有一个类维护对哈希表的引用并序列化/反序列化该哈希表。调用 SerializationInfo.GetValue 后,Hashtable 未完全反序列化,因为反序列化发生在 IDeserialization 回调期间。
Hashtable hashtable = (Hashtable) info.GetValue("hash", typeof(Hashtable));
我还在父类中实现了 IDeserialization 回调,但是 Hashtable 还没有完全反序列化。我预计反序列化是从内到外发生的。
我的问题是,从我的父类的 OnDeserialization 方法中显式调用 Hashtable.OnDeserialization 是否安全,以便我可以在那时枚举它?
public virtual void OnDeserialization(object sender)
{
hashtable.OnDeserialization(sender);
}