如何在没有任何引用的情况下创建类对象的副本?

Vid*_*dya 5 c# asp.net

如何在没有任何引用的情况下创建类对象的副本?ICloneable制作一个类对象的副本(通过浅拷贝),但不支持深度复制.我正在寻找一个足够智能的函数来读取类对象的所有成员,并在不指定成员名称的情况下对另一个对象进行深层复制.

jdr*_*oss 5

我已经将此视为一种解决方案,基本上编写自己的函数来执行此操作,因为您所说的 ICloneable 不进行深层复制

public static T DeepCopy(T other)
{
    using (MemoryStream ms = new MemoryStream())
    {
        BinaryFormatter formatter = new BinaryFormatter();
        formatter.Serialize(ms, other);
        ms.Position = 0;
        return (T)formatter.Deserialize(ms);
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在参考这个线程。 复制一个类,C#