为什么不在 C# 中实现 ICloneable?
在 C# 中,建议不要实现 ICloneable 接口及其 Clone() 方法。与其他编程语言不同,没有明确指示克隆操作应该执行“深”还是“浅”复制。
创建深层副本
如果您需要深拷贝,最好实现自己的方法,例如 MyClone()。这允许您显式定义复制行为,确保所有对象引用和属性都是重复的。
实现自己的克隆方法的优点
实现自定义克隆方法提供了几个优点:
建议
Brad Abrams,Microsoft工程师,在 2003 年的一篇博客文章中不鼓励使用 ICloneable。通常建议实现您自己的克隆清晰、灵活并能控制复制过程的方法。
以上是我应该在 C# 中实现 ICloneable 吗?的详细内容。更多信息请关注PHP中文网其他相关文章!