Freigeben über


System.Runtime.Serialization.IExtensibleDataObject-Schnittstelle

Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.

Die IExtensibleDataObject-Schnittstelle stellt eine einzelne Eigenschaft zur Verfügung, die eine Struktur zur Speicherung von Daten außerhalb eines Datenvertrags festlegt oder zurückgibt. Die zusätzlichen Daten werden in einer Instanz der ExtensionDataObject-Klasse gespeichert, der Zugriff erfolgt über die ExtensionData-Eigenschaft. Bei einer Roundtrip-Operation, bei der Daten empfangen, verarbeitet und zugesendet werden, werden die zusätzlichen Daten unverändert an den ursprünglichen Absender zurückgesendet. Dies ist nützlich, um aus zukünftigen Versionen des Vertrags empfangene Daten zu speichern. Wenn Sie die Schnittstelle nicht implementieren, werden alle zusätzlichen Daten bei einer Roundtrip-Operation ignoriert und verworfen.

So verwenden Sie die Versionsverwaltungsfunktion

  1. Implementieren Sie die IExtensibleDataObject-Schnittstelle in einer Klasse.

  2. Fügen Sie Ihrem Typ die ExtensionData-Eigenschaft hinzu.

  3. Fügen Sie einen privaten Member des Typs ExtensionDataObject zur Klasse hinzu.

  4. Mit dem neuen privaten Member können Sie Methoden für die Eigenschaft implementieren, aufrufen und festlegen.

  5. Fügen Sie das DataContractAttribute-Attribut der Klasse hinzu. Legen Sie die Name-Eigenschaft und die Namespace-Eigenschaft ggf. auf die entsprechenden Werte fest.

Weitere Informationen zur Versionsverwaltung von Typen finden Sie unter Datenvertragsversionsverwaltung. Informationen zum Erstellen von forward-kompatiblen Datenverträgen finden Sie unter "Forward-Compatible Data Contracts". Weitere Informationen zu Datenverträgen finden Sie unter Verwenden von Datenverträgen.