シリアル化 (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;
};

コメント

両方の属性は、"短い名前" (SerializableNonSerialized) を使用して参照できます。 詳しくは、「属性の適用」をご覧ください。

関連項目

C++/CLI (Visual C++) による .NET プログラミング