如何制作参考类型的副本

时间:2011-04-30 18:56:52

标签: c# immutability reference-type

  

可能重复:
  Cloning objects in C#

我有一个包含属性的类,其中一些是引用类型(其他类的实例)本身(CookieContainer)。

我想拥有此类的精确副本,因此对先前版本的任何更改都不会影响此新实例。

是否存在针对此类问题的一般解决方案,或者我应该手动执行此操作?

2 个答案:

答案 0 :(得分:7)

您需要将对象深层复制到另一个对象。有很多方法,但序列化一个对象并将数据反序列化为另一个对象是实现这一目标的一个非常快速的技巧。请在此处查看:How do you do a deep copy of an object in .NET (C# specifically)?

答案 1 :(得分:-1)

确定您希望复制的深度,并实施ICloneable界面和克隆方法:http://msdn.microsoft.com/en-us/library/system.icloneable.aspx