IDeserializationCallback vs OnDeserializedAttribute
Tanto quanto eu entendo, a interface IDeserializationCallback eo evento OnDeserialized podem ser usados quando um objeto precisa executar alguma tarefa após ser desserializado.
IDeserializationCallback:
[Serializable]
public class Foo : IDeserializationCallback
{
public void OnDeserialization(object sender)
{
// initialize unserialized fields etc.
}
}
Evento OnDeserialized:
[Serializable]
public class Foo
{
[OnDeserialized]
public void OnDeserialized(StreamingContext context)
{
// initialize unserialized fields etc.
}
}
Há algum prós / contras ou cenários específicos em que você escolheria um sobre o outro?