Cloning a reference type
本问题已经有最佳答案,请猛点这里访问。
考虑以下内容
我有一个HTML模板对象
1 2 3 4 5 | class HtmlTemplateModel { public HTML Html {get;set;} //..etc } |
和HTML编辑器
1 2 3 4 5 6 7 8 | class HtmlEditorViewModel { private HtmlTemplateModel htmlTemplateModel; public HtmlEditor(HtmlTemplateModel htmlTemplateModel) { this.htmlTemplateModel = htmlTemplateModel; } } |
这样,templateditor实例将原始模板的更改应用于其引用类型,但我不想修改其值,因此我创建了一个新的构造函数,该构造函数接受
- 这是在.NET中克隆引用类型的最佳方法吗?
- 有没有捷径可以让我不用再创建一个克隆对象的构造函数?
一个简单的方法是序列化对象,它将对源对象进行深度复制。
http://www.codeproject.com/articles/23832/implementation-deep-cloning-via-serializing-objects