序列化 (C++/CLI)
Managed 類別 (包括個別欄位或屬性) 的序列化 (Serialization,指將物件或成員的狀態儲存至永久媒體的程序) 是由 SerializableAttribute 和 NonSerializedAttribute 類別所支援。
備註
套用 SerializableAttribute 自訂屬性 (Attribute) 至 Managed 類別,以序列化整個類別,或只套用至特定欄位或屬性 (Property),以序列化部分 Managed 類別。 使用 NonSerializedAttribute 自訂屬性 (Attribute),以避免 Managed 類別的欄位或屬性序列化。
範例
描述
下列範例中的 MyClass 類別 (以及 m_nCount 屬性) 已標示為可序列化。 但是,m_nData 屬性 (Property) 是由 NonSerialized 自訂屬性 (Attribute) 所指示,因此不會序列化:
程式碼
// 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;
};
註解
請注意,這兩個屬性 (Attribute) 都可用其「簡短名稱」(Serializable 和 NonSerialized) 參考。 這個部分將於套用屬性之中作進一步說明。