据我了解,在IDeserializationCallback接口和OnDeserialized事件都可以当一个对象需要被反序列化后执行一些任务中使用。
IDeserializationCallback:
[Serializable]
public class Foo : IDeserializationCallback
{
public void OnDeserialization(object sender)
{
// initialize unserialized fields etc.
}
}
OnDeserialized事件:
[Serializable]
public class Foo
{
[OnDeserialized]
public void OnDeserialized(StreamingContext context)
{
// initialize unserialized fields etc.
}
}
在那里,你会选择一个比其他任何具体的优点/缺点或方案?