如何在.NET中執(zhí)行對(duì)象的深層復(fù)制(特別是C#)?我想要一個(gè)真正的深拷貝。在Java中,這很簡(jiǎn)單,但是你如何在C#中做到這一點(diǎn)?
3 回答

紅顏莎娜
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊
以Kilhoffer的解決方案為基礎(chǔ)......
使用C#3.0,您可以創(chuàng)建一個(gè)擴(kuò)展方法,如下所示:
public static class ExtensionMethods{ // Deep clone public static T DeepClone<T>(this T a) { using (MemoryStream stream = new MemoryStream()) { BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, a); stream.Position = 0; return (T) formatter.Deserialize(stream); } }}
它擴(kuò)展了使用DeepClone方法標(biāo)記為[Serializable]的任何類(lèi)
MyClass copy = obj.DeepClone();
- 3 回答
- 0 關(guān)注
- 1221 瀏覽
添加回答
舉報(bào)
0/150
提交
取消