Сериализация (C++/CLI)
Сериализация (процесс хранения состояния объекта или члена на постоянном носителе) управляемых классов (включая отдельные поля или свойства) поддерживается классами 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;
};
Комментарии
Обратите внимание, что на оба атрибута можно ссылаться, используя их "короткое имя" (сериализуемое и несериализованное). Это объясняется далее в разделе Применение атрибутов.