Interfejs System.Runtime.Serialization.IExtensibleDataObject

Ten artykuł zawiera dodatkowe uwagi dotyczące dokumentacji referencyjnej dla tego interfejsu API.

Interfejs IExtensibleDataObject udostępnia jedną właściwość, która ustawia lub zwraca strukturę używaną do przechowywania danych zewnętrznych dla kontraktu danych. Dodatkowe dane są przechowywane w wystąpieniu ExtensionDataObject klasy i dostępne za pośrednictwem ExtensionData właściwości . W operacji dwukierunkowej, w której dane są odbierane, przetwarzane i wysyłane z powrotem, dodatkowe dane są wysyłane z powrotem do oryginalnego nadawcy bez zmian. Jest to przydatne do przechowywania danych otrzymanych z przyszłych wersji kontraktu. Jeśli interfejs nie zostanie zaimplementowany, wszelkie dodatkowe dane zostaną zignorowane i odrzucone podczas operacji dwukierunkowej.

Aby użyć tej funkcji przechowywania wersji

  1. Zaimplementuj IExtensibleDataObject interfejs w klasie .

  2. ExtensionData Dodaj właściwość do typu.

  3. Dodaj prywatny element członkowski typu ExtensionDataObject do klasy.

  4. Zaimplementuj metody pobierania i ustawiania właściwości przy użyciu nowego elementu członkowskiego prywatnego.

  5. DataContractAttribute Zastosuj atrybut do klasy . Name W razie potrzeby ustaw właściwości i Namespace na odpowiednie wartości.

Aby uzyskać więcej informacji na temat przechowywania wersji typów, zobacz Przechowywanie wersji kontraktu danych. Aby uzyskać informacje na temat tworzenia kontraktów danych zgodnych z przekazywaniem, zobacz Kontrakty danych zgodne z przekazywaniem. Aby uzyskać więcej informacji na temat kontraktów danych, zobacz Using Data Contracts (Używanie kontraktów danych).