シリアル化 (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;
};
Comments
両方の属性は、"短い名前" (Serializable と NonSerialized) を使用して参照できます。 詳しくは、「属性の適用」をご覧ください。