Partage via


Sérialisation (C++/CLI)

La sérialisation (processus de stockage de l’état d’un objet ou d’un membre à un support permanent) de classes managées (y compris des champs ou des propriétés individuels) est prise en charge par les SerializableAttribute classes et NonSerializedAttribute les classes.

Notes

Appliquez l’attribut personnalisé SerializableAttribute à une classe managée pour sérialiser la classe entière ou appliquer uniquement à des champs ou propriétés spécifiques pour sérialiser des parties de la classe managée. Utilisez l’attribut personnalisé NonSerializedAttribute pour exempter les champs ou propriétés d’une classe managée d’être sérialisés.

Exemple

Description

Dans l’exemple suivant, la classe MyClass (et la propriété m_nCount) est marquée comme sérialisable. Toutefois, la m_nData propriété n’est pas sérialisée comme indiqué par l’attribut personnalisé non sérialisé :

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 NonSérialized). Cela est expliqué plus en détail dans l’application des attributs.

Voir aussi

Programmation .NET avec C++/CLI (Visual C++)