シリアライズの謎

System.Runtime.Serialize.ISerializable インタフェイスをつけたクラスは、コンストラクタにて逆シリアル化がカスタマイズされるけど……
循環参照を持つオブジェクトグラフは、どうやって逆シリアル化されるのかと不思議に思った。


ObjA と ObjB が相互参照しているときに、

  • ObjA のコンストラクタで ObjB を逆シリアル化
  • ObjB のコンストラクタで ObjA を逆シリアル化

するようなコードが書いてあると、どうなるのかなーって (^-^;;


最初に空のインスタンスを作って、その後特例でコンストラクタ呼び出すのかしらん。
それともエラーになるんかな?