Interfaz System.Runtime.Serialization.IExtensibleDataObject

En este artículo se proporcionan comentarios adicionales a la documentación de referencia de esta API.

La interfaz IExtensibleDataObject proporciona una propiedad única que establece o devuelve una estructura usada para almacenar datos externos a un contrato de datos. Los datos adicionales están almacenados en una instancia de la clase ExtensionDataObject y se obtienen acceso a ellos a través de la propiedad ExtensionData. En una operación de ida y vuelta (round trip) donde se reciben, procesan y devuelven datos, los datos adicionales se devuelven al remitente original intactos. Esto es útil para almacenar datos recibidos de versiones futuras del contrato. Si no implementa la interfaz, cualquier dato adicional se omite y descarta durante una operación de ida y vuelta (round trip).

Para usar esta característica de control de versiones

  1. Implemente la interfaz IExtensibleDataObject en una clase.

  2. Agregue la propiedad ExtensionData a su tipo.

  3. Agregue un miembro privado del tipo ExtensionDataObject a la clase.

  4. Implemente los métodos get y set para la propiedad con el nuevo miembro privado.

  5. Aplique el atributo DataContractAttribute a la clase. Establezca Name y las propiedades Namespace en los valores adecuados si es necesario.

Para obtener más información sobre el control de versiones de tipos, vea Control de versiones del contrato de datos. Para obtener información sobre cómo crear contratos de datos compatibles con reenvíos, consulte Contratos de datos compatibles con reenvíos. Para obtener más información sobre los contratos de datos, consulte Utilización de contratos de datos.