Serialização (C++/CLI)
As classes SerializableAttribute e NonSerializedAttribute dão suporte à serialização (que é o processo de armazenar o estado de um objeto ou membro em um meio permanente) de classes gerenciadas, incluindo campos ou propriedades individuais.
Comentários
Aplique o atributo personalizado SerializableAttribute a uma classe gerenciada para serializar toda a classe ou aplique-o somente a campos ou propriedades específicos para serializar partes da classe gerenciada. Use o atributo personalizado NonSerializedAttribute para isentar campos ou propriedades de uma classe gerenciada de serem serializados.
Exemplo
Descrição
No exemplo a seguir, a classe MyClass
(e a propriedade m_nCount
) é marcada como serializável. No entanto, a propriedade m_nData
não é serializada, conforme indicado pelo atributo personalizado 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 ambos os atributos podem ser referenciados usando o "nome curto" deles (Serializable e NonSerialized). Isso é explicado em mais detalhes em Aplicando atributos.