我已经看到了几种不同的方法,但是我使用了一种通用的实用方法:
public static T DeepClone<T>(this T obj){ using (var ms = new MemoryStream()) { var formatter = new BinaryFormatter(); formatter.Serialize(ms, obj); ms.Position = 0; return (T) formatter.Deserialize(ms); }}笔记:
- 您的班级必须标记为
[Serializable]
可正常使用。 - 您的源文件必须包含以下代码:
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;


![如何在.NET中进行对象的深层复制?[重复] 如何在.NET中进行对象的深层复制?[重复]](http://www.mshxw.com/aiimages/31/576333.png)
