System.Runtime.Serialization.IExtensibleDataObject インターフェイス

この記事では、この API のリファレンス ドキュメントへの補足的な解説を提供します。

IExtensibleDataObject インターフェイスには、データ コントラクトの外部データを格納するために使用する構造体を設定または返すための単一のプロパティがあります。 追加データは、ExtensionDataObject クラスのインスタンス内に格納され、ExtensionData プロパティを通してアクセスされます。 データの受信、処理、および送信が行われるラウンドトリップ操作において、追加データは、元の送信側にそのまま送り返されます。 これは、コンタクトの将来のバージョンから受信されるデータを格納する場合に役立ちます。 このインターフェイスを実装しない場合、追加データは無視され、ラウンドトリップ操作の間に破棄されます。

バージョン管理機能の使用

  1. クラスに IExtensibleDataObject インターフェイスを実装します。

  2. ExtensionData プロパティを型に追加します。

  3. クラスに ExtensionDataObject 型のプライベート メンバーを追加します。

  4. 新しいプライベート メンバーを使用して、get メソッドと set メソッドを実装します。

  5. クラスに DataContractAttribute 属性を適用します。 必要であれば、Name プロパティと Namespace プロパティに適切な値を設定します。

型のバージョン管理の詳細については、「データ コントラクトのバージョン管理」を参照してください。 前方互換性のあるデータ コントラクトの作成の詳細については、「前方互換性のあるデータ コントラクト」を参照してください。 データ コントラクトの詳細については、「データ コントラクトの使用」を参照してください。