シリアル化プロセスの手順

フォーマッタSerialize メソッドが呼び出されると、オブジェクトのシリアル化プロセスは、次の一連の規則に従って実行されます。

  • フォーマッタにサロゲート セレクタが存在するかどうかがチェックされます。サロゲート セレクタが存在する場合は、与えられた型のオブジェクトをそのサロゲート セレクタが処理できるかどうかがチェックされます。セレクタがオブジェクトの型を処理できる場合は、サロゲート セレクタで ISerializable.GetObjectData が呼び出されます。

  • サロゲート セレクタが存在しないか、またはそのサロゲート セレクタがそのオブジェクトの型を処理しない場合は、オブジェクトが Serializable 属性でマークされているかどうかがチェックされます。マークされていない場合は、SerializationException がスローされます。

  • オブジェクトが適切にマークされている場合は、オブジェクトが ISerializable インターフェイスを実装しているかどうかがチェックされます。実装している場合は、そのオブジェクトの GetObjectData が呼び出されます。

  • オブジェクトが ISerializable を実装していない場合は、既定のシリアル化ポリシーが適用され、NonSerialized としてマークされていないすべてのフィールドがシリアル化されます。

参照

その他の技術情報

バイナリ シリアル化
リモート オブジェクト
XML シリアル化および SOAP シリアル化