【发布时间】:2013-12-05 13:39:56
【问题描述】:
参考堆栈溢出讨论,涉及使用扩展方法为类创建深拷贝方法,不需要 [Serializable] 属性:
How do you do a deep copy of an object in .NET (C# specifically)?
我拥有的类是一个单例类,它是一个旧的实现:
我可以创建一个相同的深层副本吗,我理解根据定义这是不可能的,但试图理解,如果在这种典型情况下有可能的解决方法。我知道我的其他选择是将类更改为非单例,但在我们当前的设计和使用中,这将是大量工作并且可能会导致许多问题。
此外,当前类还有多个其他自定义类被引用,所以当我要进行深层复制时,尤其是 Alex Burtsev 在以下代码中的方式:
https://raw.github.com/Burtsev-Alexey/net-object-deep-copy/master/ObjectExtensions.cs
我是否需要为所有被引用的类提供扩展方法,我假设是这种情况。
【问题讨论】: