オブジェクトのDeserialize時に処理を付加したい場合

System.Runtime.Serialization.IDeserializationCallbackインタフェースを実装し、
OnDeserializationメソッド内で処理を付加します。


私の場合、


DataViewのフィルタ情報がシリアライズ時に保持されないので、
シリアライズ前に別変数に保持しておきます。


オブジェクトを復元(逆シリアル化)をする時に、
OnDeserialization内で、別変数に保持しておいた内容を
DataViewに設定しなおすようにしています。


使い方としてはこんなところです。


ASP.NETのSessionはInProc以外だとシリアライズする事で保存され、
逆シリアル化する事で復元されるようになるので、DataViewの内容が必要な時は上記の処理が行われるようにライブラリ化してあります。