C# 实体类的深拷贝

Raow1

关注

阅读 68

2023-02-28

[Serializable]
public class Data : ICloneable
{


public int Level { get; set; }
public string ID { get; set; }
public string EID { get; set; }
public string Name { get; set; }
public List<Data> Childs { get; set; }

public object Clone()
{
using (MemoryStream ms = new MemoryStream(1000))
{
object CloneObject;
BinaryFormatter bf = new BinaryFormatter(null, new StreamingContext(StreamingContextStates.Clone));
bf.Serialize(ms, this);
ms.Seek(0, SeekOrigin.Begin);
// 反序列化至另一个对象(即创建了一个原对象的深表副本)
CloneObject = bf.Deserialize(ms);
// 关闭流
ms.Close();
return CloneObject;
}




}
}

精彩评论(0)

0 0 举报