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.

Confira também

Programação do .NET com C++/CLI (Visual C++)