【问题标题】:Cloning a reference type [duplicate]克隆引用类型[重复]
【发布时间】:2014-01-09 00:07:29
【问题描述】:

考虑以下

我有一个 Html 模板对象

   class HtmlTemplateModel
    {
       public HTML Html {get;set;}
       //..etc
    }

和一个 Html 编辑器

class HtmlEditorViewModel
{
   private HtmlTemplateModel htmlTemplateModel;
   public HtmlEditor(HtmlTemplateModel htmlTemplateModel)
   {
      this.htmlTemplateModel = htmlTemplateModel;
   }
}

这样,TemplateEditor 实例将更改应用到原始模板,因为它是一个引用类型,但我不想修改它的值,所以我创建了一个新的构造函数,它采用 HtmlTemplateModel 并创建一个新的 HtmlTemplateModel

  • 这是在 .NET 中克隆引用类型的最佳方法吗?
  • 还有一个快捷方式,这样我就不必创建另一个 构造函数来克隆对象?

【问题讨论】:

    标签: c#


    【解决方案1】:

    一个简单的方法是序列化对象,它会对源对象做一个深拷贝。

    http://www.codeproject.com/Articles/23832/Implementing-Deep-Cloning-via-Serializing-objects

    【讨论】:

      猜你喜欢
      • 2010-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-16
      • 2018-08-28
      • 2019-12-20
      • 2018-03-26
      相关资源
      最近更新 更多