Partager via


Interface System.Runtime.Serialization.IExtensibleDataObject

Cet article vous offre des remarques complémentaires à la documentation de référence pour cette API.

L'interface IExtensibleDataObject fournit une propriété unique qui définit ou retourne une structure utilisée pour stocker des données qui sont externes à un contrat de données. Les données supplémentaires sont stockées dans une instance de la classe ExtensionDataObject et accédées à travers la propriété ExtensionData. Dans une opération d'aller-retour où les données sont reçues, traitées et renvoyées, les données supplémentaires sont renvoyées intactes à l'expéditeur d'origine. Cette technique est utile pour stocker des données reçues de versions futures du contrat. Si vous n'implémentez pas l'interface, les données supplémentaires sont ignorées et éliminées pendant une opération d'aller-retour.

Pour utiliser cette fonctionnalité de contrôle de version

  1. Implémente l'interface IExtensibleDataObject dans une classe.

  2. Ajoutez la propriété ExtensionData à votre type.

  3. Ajoutez un membre privé de type ExtensionDataObject à la classe.

  4. Implémentez les méthodes get et set pour la propriété à l'aide du nouveau membre privé.

  5. Appliquez l'attribut DataContractAttribute à la classe. Affectez les valeurs appropriées aux propriétés Name et Namespace si nécessaire.

Pour plus d’informations sur le contrôle de version des types, consultez Gestion des versions de contrat de données. Pour plus d’informations sur la création de contrats de données compatibles avec l’avant, consultez Contrats de données compatibles avec transfert. Pour plus d’informations sur les contrats de données, consultez Utilisation des contrats de données.