Serializzazione selettiva
Una classe spesso contiene campi che non devono essere serializzati. Si ipotizzi, ad esempio, che una classe archivi un ID di thread in una variabile membro. Quando la classe viene deserializzata, il thread il cui ID è stato archiviato al momento della serializzazione della classe potrebbe non essere più in esecuzione. La serializzazione di questo valore è quindi inutile. Per non serializzare le variabili membro, è possibile contrassegnarle con l'attributo NonSerialized, come illustrato di seguito.
[Serializable]
public class MyObject
{
public int n1;
[NonSerialized] public int n2;
public String str;
}
Se possibile, rendere non serializzabile un oggetto che potrebbe contenere dati di protezione. Se è necessario serializzare l'oggetto, applicare l'attributo NonSerialized ai campi specifici in cui vengono archiviati i dati riservati. Se non si escludono tali campi dalla serializzazione, i dati in essi contenuti saranno esposti a qualsiasi codice che dispone di autorizzazioni alla serializzazione. Per ulteriori informazioni su come scrivere codice di serializzazione protetto, vedere Protezione e serializzazione.
Vedere anche
Concetti
Altre risorse
Serializzazione binaria
Oggetti remoti
Serializzazione XML e SOAP