Serializzazione in C++
Aggiornamento: novembre 2007
La serializzazione, ovvero il processo di memorizzazione dello stato di un oggetto o membro su un supporto permanente, delle classi gestite, inclusi singoli campi o proprietà, è supportata dalle classi SerializableAttribute e NonSerializedAttribute.
Osservazioni
Applicare l'attributo personalizzato SerializableAttribute a una classe gestita per serializzare l'intera classe o applicarlo a campi o proprietà specifiche per serializzare solo tali parti. Utilizzare l'attributo personalizzato NonSerializedAttribute per evitare che alcuni campi o proprietà di una classe gestita vengano serializzati.
Esempio
Descrizione
Nell'esempio riportato di seguito la classe MyClass (e la proprietà m_nCount) è contrassegnata come serializzabile. Tuttavia, la proprietà m_nData non viene serializzata come indicato dall'attributo personalizzato NonSerialized:
Codice
// serialization_and_mcpp.cpp
// compile with: /LD /clr
using namespace System;
[ Serializable ]
public ref class MyClass {
public:
int m_nCount;
private:
[ NonSerialized ]
int m_nData;
};
Commenti
Si noti che è possibile fare riferimento a entrambi gli attributi mediante il "nome breve" (Serializable e NonSerialized), come spiegato più ampiamente in Applicazione di attributi.