Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье приводятся дополнительные замечания к справочной документации по этому API.
Интерфейс IExtensibleDataObject предоставляет одно свойство, которое устанавливает или возвращает структуру, используемую для хранения данных, внешних для данного контракта. Дополнительные данные хранятся в экземпляре ExtensionDataObject класса и получают доступ через ExtensionData свойство. В операции обратной передачи, где данные принимаются, обрабатываются и отправляются обратно, дополнительные данные отправляются исходному отправителю в неизменном виде. Это полезно для хранения данных, полученных из будущих версий контракта. Если интерфейс не реализован, все дополнительные данные игнорируются и удаляются во время циклической операции.
Использование этой функции управления версиями
IExtensibleDataObject Реализуйте интерфейс в классе.
Добавьте свойство к типу ExtensionData.
Добавьте в класс закрытый член типа ExtensionDataObject .
Реализуйте методы get и set для свойства с помощью нового закрытого элемента.
DataContractAttribute Примените атрибут к классу. Задайте свойства Name и Namespace на соответствующие значения, если это необходимо.
Дополнительные сведения о версиях типов см. в разделе "Управление версиями контракта данных". Сведения о создании контрактов данных, совместимых с будущими версиями, см. в разделе Forward-Compatible контракты данных. Дополнительные сведения о контрактах данных см. в разделе "Использование контрактов данных".