Por lo que yo entiendo, la interfaz IDeserializationCallback y el evento OnDeserialized se pueden usar cuando un objeto necesita realizar alguna tarea después de ser deserializado.IDeserializationCallback vs OnDeserializedAttribute
IDeserializationCallback:
[Serializable]
public class Foo : IDeserializationCallback
{
public void OnDeserialization(object sender)
{
// initialize unserialized fields etc.
}
}
caso OnDeserialized:
[Serializable]
public class Foo
{
[OnDeserialized]
public void OnDeserialized(StreamingContext context)
{
// initialize unserialized fields etc.
}
}
¿Hay ventajas/desventajas o escenarios en los que elegiría uno sobre el otro específicas?
Buen punto. Esa es una ventaja bastante buena de usar la interfaz IDeserializationCallback. –
En realidad, esta no es la respuesta correcta: mira la respuesta de Val y sigue el enlace allí. –