IDeserializationCallback vs OnDeserializedAttribute
Насколько я понимаю, интерфейс 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.
}
}
Есть ли какие-то конкретные плюсы / минусы или сценарии, в которых вы бы выбрали один из других?