シリアル化 (C++/CLI)
マネージ クラスのシリアル化 (各フィールドまたはプロパティを含む) は、SerializableAttribute クラスと NonSerializedAttribute クラスでサポートされます。シリアル化とは、オブジェクトまたはメンバーの状態を永続的なメディアに格納するプロセスです。
解説
SerializableAttribute カスタム属性をマネージ クラスに適用してクラス全体をシリアル化するか、特定のフィールドまたはプロパティだけに適用してマネージ クラスの一部をシリアル化します。マネージ クラスのフィールドまたはプロパティをシリアル化から除外するには NonSerializedAttribute カスタム属性を使用します。
例
Description
次の例では、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) を使用して参照できます。詳細については、「属性の適用」で説明します。