.Net 用序列化快速完成物件複製
使用序列化就能快速實作物件複製
重點是使用了System.Runtime.Serialization.Formatters.Binary.BinaryFormatter這個序列器,使用此序列器,必須加上[Serializable]這個屬性,因為這個屬性無法被繼承,中間所有的物件也都要加上才行
[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]這個屬性,因為這個屬性無法被繼承,中間所有的物件也都要加上才行
留言