Поделиться через


Сериализация в C++

Обновлен: Ноябрь 2007

Сериализация (процесс сохранения состояния объекта или элемента на постоянный носитель) управляемых классов (в том числе отдельных полей или свойств) поддерживается классами SerializableAttribute и NonSerializedAttribute.

Примечания

Примените настраиваемый атрибут SerializableAttribute к управляемому классу, чтобы сериализовать весь класс, или только к отдельным полям или свойствам, чтобы сериализовать части управляемых классов. Используйте настраиваемый атрибут NonSerializedAttribute, чтобы исключить те или иные поля или свойства управляемого класса из сериализации.

Пример

Описание

В следующем примере класс MyClass (и свойство m_nCount) помечен как сериализуемый. При этом свойство m_nData не является сериализуемым, как показывает настраиваемый атрибут NonSerialized:

Код

// 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;
};

Примечания

Обратите внимание, что на оба атрибута можно ссылаться по их "коротким именам" (Serializable и NonSerialized). См. дополнительные пояснения в разделе Применение атрибутов.

См. также

Другие ресурсы

Руководство по программированию в среде .NET