IDeserializationCallback vs OnDeserializedAttribute
Soweit ich weiß, können sowohl die IDeserializationCallback-Schnittstelle als auch das OnDeserialized-Ereignis verwendet werden, wenn ein Objekt nach der Deserialisierung eine Aufgabe ausführen muss.
IDeserializationCallback:
[Serializable]
public class Foo : IDeserializationCallback
{
public void OnDeserialization(object sender)
{
// initialize unserialized fields etc.
}
}
OnDeserialized-Ereignis:
[Serializable]
public class Foo
{
[OnDeserialized]
public void OnDeserialized(StreamingContext context)
{
// initialize unserialized fields etc.
}
}
Gibt es bestimmte Vor- / Nachteile oder Szenarien, in denen Sie eines vor dem anderen wählen würden?