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