2009-10-25 86 views

回答

4

你所描述被稱爲系列化前面添加[Serializable]屬性。您將對象搜索到可存儲在磁盤上的某種數據格式,然後您可以稍後將這些數據反序列化爲對象。有這樣做的方法很多,但第一步是使類序列化的,通過添加Serializable屬性:

[Serializable] 
public class YourClass 
{  
    // the class goes here 
} 

然後你就可以使用實例的XmlSerializer類來處理序列化/反序列化。

更新
我要指出,你可以使用XmlSerializer即使你的類不與Serializable屬性來修飾。但是,其他一些序列化機制確實需要該屬性。

+0

XML序列化是有史以來最簡單的事情! – 2009-10-25 10:44:15

0

您可以使用.net序列工廠,只是你必須標記用[Serializable]屬性類,所有成員也應該是序列化

示例代碼:字典

using System.Runtime.Serialization; 
using System.Runtime.Serialization.Formatters.Binary; 

[Serializable] 
class A 
{ 
public static void Serialize(object obj,string filepath) 
{ 
Formatter f = new BinaryFormatter(); 
f.Serialize(new FileStream(filepath,FileMode.Create),obj); 
} 
public static A Deserialize(string filepath) 
{ 
Formatter f = new BinaryFormatter(); 
return f.Deserialize(new FileStream(filepath, FileMode.Open)) as A; 
} 
} 
相關問題