共用方式為


序列化範例

更新:2007 年 11 月

這個方案示範如何將物件序列化和還原序列化。

若要取得範例及其安裝指示

  • 請執行下列其中一項或多項作業:

    • 按一下 [說明] 功能表上的 [範例]。

      讀我檔案會顯示範例的相關資訊。

    • 造訪 Visual Studio 2008 範例 網站 (英文)。您可以在此找到最新版的範例。

    • 在已安裝 Visual Studio 的電腦中尋找範例。根據預設,範例和讀我檔案會安裝在 drive:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid 中。如果是 Visual Studio Express 版,則所有範例都能在線上找到。

如需詳細資訊,請參閱尋找範例檔案

安全性注意事項:

範例程式碼可說明整個概念,並顯示和此概念相關的程式碼。此程式碼可能不符合特定環境的安全性要求,您也不應該以範例所示的方法使用此程式碼。我們建議您新增安全性及錯誤處理程式碼,讓您的專案更安全完善。Microsoft 提供的程式碼未經修改,並且不對任何可能造成的後果負任何責任。

若要執行這個範例

  • 按 F5。

示範

這個應用程式包含兩個類別,一個含標準序列化,另一個則含自訂序列化。使用者介面包括將兩個類別序列化和還原序列化的按鈕。含標準序列化的類別可以序列化為 SOAP 檔案或二進位檔案,而含自訂序列化的類別會序列化為 SOAP 檔案。TextBox 控制項是用於顯示 SOAP 檔案。這兩個類別都具有 SerializableAttribute 屬性。請參閱下表描述的類別。

類別成員

SerializationClass

CustomSerializationClass

PublicVariable

該公用變數是在未變更的情況下序列化及還原序列化。

該公用變數是在未變更的情況下序列化及還原序列化。

PublicProperty

支援屬性的私用變數會在不變更的情形下進行序列化和還原序列化。

不管使用者介面中的值設定為何,支援屬性的私用變數都會序列化為 -1。因此,它會還原序列化為 -1。

NonSerializedVariable

這個變數不會序列化,因為已用 NonSerializedAttribute 加以標記。公用變數不會序列化,而且已還原序列化的值為 0。

因為自訂序列化會覆寫這個設定,雖然變數已由 NonSerializedAttribute 標記,它還是會進行序列化。公用變數是在未變更的情況下序列化及還原序列化。

三種型別的序列化示範如下:

請參閱

參考

System.Runtime.Serialization.Formatters.Soap

Serialize

Deserialize

ISerializable

GetObjectData

SerializableAttribute