IDeserializationCallback vs AtDeserializedAttribute
O ile rozumiem, interfejs IDeserializationCallback i zdarzenie OnDeserialized mogą być używane, gdy obiekt musi wykonać pewne zadanie po deserializacji.
IDeserializationCallback:
[Serializable]
public class Foo : IDeserializationCallback
{
public void OnDeserialization(object sender)
{
// initialize unserialized fields etc.
}
}
Zdarzenie OnDeserialized:
[Serializable]
public class Foo
{
[OnDeserialized]
public void OnDeserialized(StreamingContext context)
{
// initialize unserialized fields etc.
}
}
Czy są jakieś konkretne plusy / minusy lub scenariusze, w których można wybrać jeden nad drugim?