Compartilhar via


Interface System.Runtime.Serialization.IExtensibleDataObject

Este artigo fornece comentários complementares à documentação de referência para esta API.

A IExtensibleDataObject interface fornece uma única propriedade que define ou retorna uma estrutura usada para armazenar dados externos a um contrato de dados. Os dados extras são armazenados em uma instância da ExtensionDataObject classe e acessados por meio da ExtensionData propriedade. Em uma operação de ida e volta em que os dados são recebidos, processados e enviados de volta, os dados extras são enviados de volta para o remetente original intactos. Isso é útil para armazenar dados recebidos de versões futuras do contrato. Se você não implementar a interface, todos os dados extras serão ignorados e descartados durante uma operação de ida e volta.

Para utilizar este recurso de versionamento

  1. Implemente a IExtensibleDataObject interface em uma classe.

  2. Adicione a propriedade ExtensionData ao tipo.

  3. Adicione um membro privado do tipo ExtensionDataObject à classe.

  4. Implemente os métodos get e set para a propriedade usando o novo membro privado.

  5. Aplique o atributo DataContractAttribute à classe. Defina as propriedades Name e Namespace para valores apropriados, se necessário.

Para obter mais informações sobre o versionamento de tipos, consulte Versionamento de Contrato de Dados. Para obter informações sobre como criar contratos de dados compatíveis com versões futuras, consulte Forward-Compatible Contratos de Dados. Para obter mais informações sobre contratos de dados, confira Como usar contratos de dados.