2007年4月19日 星期四

.Net 用序列化快速完成物件複製

使用序列化就能快速實作物件複製

[Serializable]
public class BaseForm : IForm, ICloneable
{
#region ICloneable Members
public object Clone()
{
MemoryStream ms = new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(ms, this);
ms.Flush();

ms.Position = 0;
object obj = formatter.Deserialize(ms);
ms.Close();

return obj;
}
#endregion
}


重點是使用了System.Runtime.Serialization.Formatters.Binary.BinaryFormatter這個序列器,使用此序列器,必須加上[Serializable]這個屬性,因為這個屬性無法被繼承,中間所有的物件也都要加上才行

0 回應:

 
TEMPLATE HACKS AND TWEAKS BY [ METAMUSE ] BLACKCAT 1.1