问题描述
|
这个问题已经在这里有了答案:
解决方法
如何在.NET中(特别是C#)对对象进行深层复制?
,一种便宜的方法是对其进行序列化,然后使用二进制序列化直接对其进行反序列化。
MyObject myobj = new MyObject();
// ...
MemoryStream ms = new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(ms,myObj);
MemoryStream ms2 = new MemoryStream(ms.ToArray());
var myobj2 = (MyObject)formatter.Deserialize(ms2);
,实现IClonable并提供Clone
方法的克隆。