Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
In questa soluzione viene illustrato come serializzare e deserializzare un oggetto.
Per ottenere esempi e istruzioni per la relativa installazione
Effettuare una delle seguenti operazioni:
Dal menu Guida, scegliere Esempi.
Il file Readme contiene informazioni sugli esempi.
Visitare il sito Web Visual Studio 2008 Samples (informazioni in lingua inglese). Su tale sito sono disponibili le versioni più recenti degli esempi.
Individuare gli esempi sul computer in cui è installato Visual Studio. Il percorso di installazione predefinito degli esempi e del file Readme relativo è unità:\Programmi\Microsoft Visual Studio 9.0\Samples\lcid. Per le versioni Express di Visual Studio tutti gli esempi sono disponibili in linea.
Per ulteriori informazioni, vedere Individuazione dei file di esempio.
Nota sulla sicurezza: |
|---|
In questo esempio di codice viene illustrato un concetto e viene presentato solo il codice rilevante. È possibile che questo esempio non soddisfi i requisiti di sicurezza per un ambiente specifico ed è opportuno non utilizzarlo così come viene riportato. È consigliabile aggiungere codice relativo alla sicurezza e alla gestione degli errori per rendere i progetti più sicuri e potenti. Microsoft fornisce questo esempio di codice "COSÌ COM'È" senza garanzie. |
Per eseguire l'esempio
- Premere F5.
Dimostrazione
Questa applicazione contiene due classi, una con la serializzazione standard e una con la serializzazione personalizzata. L'interfaccia utente include pulsanti per la serializzazione e la deserializzazione delle due classi. La classe con la serializzazione standard può essere serializzata in un file SOAP o in un file binario. La classe con la serializzazione personalizzata viene serializzata in un file SOAP. Per visualizzare i file SOAP viene utilizzato un controllo TextBox. Le due classi hanno entrambe l'attributo SerializableAttribute. Le classi sono descritte nella tabella riportata di seguito.
Membro della classe |
SerializationClass |
CustomSerializationClass |
|---|---|---|
PublicVariable |
La variabile pubblica viene serializzata e deserializzata senza modifiche. |
La variabile pubblica viene serializzata e deserializzata senza modifiche. |
PublicProperty |
La variabile privata che supporta la proprietà viene serializzata e deserializzata senza modifiche. |
La variabile privata che supporta la proprietà viene serializzata come -1, indipendentemente dal valore impostato nell'interfaccia utente. Viene pertanto deserializzata come -1. |
NonSerializedVariable |
Questa variabile non viene serializzata, perché è contrassegnata con l'attributo NonSerializedAttribute. La variabile pubblica non viene serializzata e il valore deserializzato è 0. |
Sebbene la variabile sia contrassegnata con l'attributo NonSerializedAttribute, viene serializzata, perché la serializzazione personalizzata esegue l'override di questa impostazione. La variabile pubblica viene serializzata e deserializzata senza modifiche. |
Vengono illustrati tre tipi di serializzazione:
Formattazione SOAP Class1 viene serializzata tramite la classe SoapFormatter.
Formattazione binaria Class1 viene serializzata tramite la classe BinaryFormatter.
Formattazione personalizzata Class2 implementa l'interfaccia ISerializable, includendo il metodo GetObjectData per l'esecuzione della serializzazione personalizzata.
Nota sulla sicurezza: