【发布时间】:2011-09-02 04:36:14
【问题描述】:
我需要将我创建的类中的一个对象深度复制到同一个类中的另一个对象,我不想浅拷贝,也不想使用序列化方法 还有其他简单的方法吗??
【问题讨论】:
-
感谢大家的回答=)
标签: c# .net object constructor clone
我需要将我创建的类中的一个对象深度复制到同一个类中的另一个对象,我不想浅拷贝,也不想使用序列化方法 还有其他简单的方法吗??
【问题讨论】:
标签: c# .net object constructor clone
一种便宜的方法是对其进行序列化,然后使用二进制序列化直接反序列化。
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 方法中提供自己的克隆。
【讨论】: