Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 klasie ExtensionDataObject i dostępne przez właściwość ExtensionData. 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 wersjonowania
Zaimplementuj IExtensibleDataObject interfejs w klasie .
Dodaj właściwość ExtensionData do swojego typu.
Dodaj prywatny element członkowski typu ExtensionDataObject do klasy.
Zaimplementuj metody pobierania i ustawiania właściwości przy użyciu nowego pola prywatnego.
DataContractAttribute Zastosuj atrybut do klasy . Ustaw właściwości Name i Namespace na odpowiednie wartości, jeśli to konieczne.
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 przyszłymi wersjami, zobacz Forward-Compatible Data Contracts. Aby uzyskać więcej informacji na temat kontraktów danych, zobacz Using Data Contracts (Używanie kontraktów danych).