2009-10-25 169 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; 
} 
} 
相关问题