Sérialisation (C++/CLI)
La sérialisation (processus de stockage de l'état d'un objet ou d'un membre sur un support permanent) des classes managées (y compris les différents champs ou propriétés) est prise en charge par les classes SerializableAttribute et NonSerializedAttribute.
Remarques
Appliquez l'attribut personnalisé SerializableAttribute à une classe managée pour sérialiser la classe entière ou appliquez-le uniquement à des champs ou des propriétés spécifiques pour sérialiser des parties de la classe managée. Utilisez l'attribut personnalisé NonSerializedAttribute pour exempter des champs ou des propriétés d'une classe managée de la sérialisation.
Exemple
Description
Dans l'exemple suivant, la classe MyClass (et la propriété m_nCount) est marquée comme étant sérialisable. Cependant, la propriété m_nData n'est pas sérialisée, comme l'indique l'attribut personnalisé NonSerialized :
Code
// 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;
};
Commentaires
Notez que les deux attributs peuvent être référencés à l'aide de leur « nom court » (Serializable et NonSerialized). Ceci est expliqué plus en détails dans Application des attributs.