Serializzazione (C++/CLI)
La serializzazione (processo di archiviazione dello stato di un oggetto o di un membro a un supporto permanente) di classi gestite (inclusi i singoli campi o proprietà) è supportata dalle SerializableAttribute classi e NonSerializedAttribute .
Osservazioni:
Applicare l'attributo personalizzato SerializableAttribute a una classe gestita per serializzare l'intera classe o applicare solo a campi o proprietà specifici per serializzare parti della classe gestita. Utilizzare l'attributo personalizzato NonSerializedAttribute per esentare campi o proprietà di una classe gestita dalla serializzazione.
Esempio
Descrizione
Nell'esempio seguente la classe MyClass
(e la proprietà m_nCount
) viene contrassegnata come serializzabile. Tuttavia, la m_nData
proprietà 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 usando il relativo "nome breve" (Serializable e NonSerialized). Questo argomento è illustrato più dettagliatamente in Applicazione degli attributi.