Interface System.Runtime.Serialization.IExtensibleDataObject

Este artigo fornece observações complementares à documentação de referência para essa 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 ao 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 usar esse recurso de controle de versão

  1. Implemente a IExtensibleDataObject interface em uma classe.

  2. Adicione a ExtensionData propriedade ao seu tipo.

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

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

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

Para obter mais informações sobre controle de versão de tipos, consulte Controle de versão de contrato de dados. Para obter informações sobre como criar contratos de dados compatíveis com encaminhamento, consulte Contratos de dados compatíveis com encaminhamento. Para obter mais informações sobre contratos de dados, confira Como usar contratos de dados.