私が理解している限り、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.
}
}
どちらかを選択する特定の長所/短所、またはシナリオはありますか?