2011-02-18 61 views
0

我有我使用我的WPF UI數據綁定的實體。我需要創建一個我可以隨時用作「原始」數據的實體副本。如何在C#中創建對象的引用副本?

剛剛創建新的對象,然後還分配,附有引用。所以我需要一個實體對象的副本,它對源代碼沒有任何影響。

我的實體包含值類型屬性和幾個嵌套集合。

在這個任何建議/想法?

+0

可能重複[?你怎麼做一個深拷貝的對象在.net中(C#專)(http://stackoverflow.com /問題/ 129389 /怎麼辦,你-DO-A-深拷貝的對象,在淨C-專門) – jason 2011-02-18 12:43:40

回答

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); 
相關問題