Interfaccia System.Runtime.Serialization.IExtensibleDataObject

Questo articolo fornisce osservazioni supplementari alla documentazione di riferimento per questa API.

L'interfaccia IExtensibleDataObject fornisce un'unica proprietà che imposta o restituisce una struttura utilizzata per archiviare dati esterni a un contratto dati. I dati aggiuntivi vengono archiviati in un'istanza della classe ExtensionDataObject ed è possibile accedervi utilizzando la proprietà ExtensionData. In un'operazione roundtrip nella quale i dati vengono ricevuti, elaborati e restituiti, i dati aggiuntivi vengono restituiti invariati al mittente originale. Questo processo risulta utile per archiviare dati ricevuti da versioni future del contratto. Se non si implementa l'interfaccia, durante un'operazione roundtrip qualsiasi dato aggiuntivo viene ignorato e annullato.

Per utilizzare questa funzionalità di controllo delle versioni

  1. Implementare l'interfaccia IExtensibleDataObject in una classe.

  2. Aggiungere la proprietà ExtensionData al tipo.

  3. Aggiungere un membro privato di tipo ExtensionDataObject alla classe.

  4. Implementare metodi get e set per la proprietà utilizzando il nuovo membro privato.

  5. Applicare l'attributo DataContractAttribute alla classe. Se necessario, impostare le proprietà Name e Namespace su valori appropriati.

Per altre informazioni sul controllo delle versioni dei tipi, vedere Controllo delle versioni del contratto dati. Per informazioni sulla creazione di contratti dati compatibili con l'inoltro, vedere Contratti dati compatibili con l'inoltro. Per altre informazioni sui contratti dati, vedere Uso di contratti dati.