次の方法で共有


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

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

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

このバージョン管理機能を使用するには

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

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

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

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

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

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