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

标签 c# asp.net

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

最佳答案

我已经将此视为一种解决方案,基本上是编写您自己的函数来执行此操作,因为您所说的 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);
    }
}

我正在引用这个线程。 copy a class, C#

关于c# - 如何在没有任何引用的情况下创建类对象的副本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7768397/

相关文章:

c# - *最快*目录列表

.net - ASP.NET MVC 与 ASP.NET 4.0

c# - C# 中的 Process 和 ProcessStartInfo 有什么区别?

c# - 框架 4 和框架 4 客户端配置文件 : What is the difference?

c# - 添加 "using"到 ASPX 或 ASCX 文件

c# - ASP.NET 服务器显示的结果与我的开发人员计算机中的结果不同?

javascript - 在javascript中从应用程序根目录获取路径

asp.net - 编译 ASP.NET 网站,某些引用未复制到临时 ASP.NET 文件文件夹

c# - .NET 3.5 的 Javascript : How to give textbox focus after a pop-up is closed

c# - 将一个窗口放在另一个窗口前面