如何在C#中创建对象的引用副本?

时间:2011-02-18 12:41:06

标签: c#

我有一个实体用于将数据与我的WPF UI绑定。我需要创建一个实体副本,我可以随时将其用作“原始”数据。

只是创建新对象然后分配也带有引用。所以我需要一个实体对象的副本,它对源代码没有任何影响。

我的实体包含值类型属性和几个嵌套集合。

有关此的任何建议/想法吗?

3 个答案:

答案 0 :(得分:0)

您需要编写自己的复制构造函数: 这说明了如何。 http://msdn.microsoft.com/en-us/library/ms173116(v=vs.80).aspx

对于集合,您还需要复制数据。 Array.Copy最适用于您可能需要进行序列化或只是重新创建表的哈希表。

SomeType[] myArray = new SomeType[orig.Count+ 1];

orig.CopyTo(myArray, 0);

答案 1 :(得分:0)

答案 2 :(得分:0)