Serialização (C++/CLI)
A serialização (o processo de armazenar o estado de um objeto ou membro a uma mídia permanente) de classes gerenciadas (inclusive campos individuais ou propriedades) tem suporte da classes de SerializableAttribute e de NonSerializedAttribute .
Comentários
Aplique o atributo personalizado de SerializableAttribute a uma classe gerenciada para serializar a classe inteira ou para aplicar somente aos campos ou propriedades específicas para serializar partes da classe gerenciada. Use o atributo personalizado de NonSerializedAttribute para isentar campos ou propriedades de uma classe gerenciada de ser serializado.
Exemplo
Descrição
No exemplo a seguir, a classe MyClass (e a propriedade m_nCount) são marcadas como serializáveis. No entanto, a propriedade de m_nData não é serializada conforme indicado pelo atributo personalizado de NonSerialized :
Código
// 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;
};
Comentários
Observe que os dois atributos podem ser referenciados usando seu nome curto “” (Serializável e NonSerialized). Isso é explicado mais em Aplicando atributos.