如Microsoft的site所述,ICloneable接口可以进行深层或浅层拷贝:克隆的实现可以执行深层复制或浅层复制。在深层复制中,复制所有对象;在浅拷贝中,仅复制顶层对象,而较低层包含引用。老实说,由于这个主题没有额外的解释,我不明白我怎么知道什么时候会发生浅复制或深复制?
jpfvwuh41#
你不能--这是为什么这个API基本上无法使用的原因之一 * 除了 * 在你自己的模型中,当你知道并控制一切的时候,在那些场景中:您可以使用自己的克隆API(甚至可能是强类型的!)。框架不为这种情况提供任何API;您 * 可能 * 能够使用序列化程序库作为深度克隆的等价物,尽管这可能没有您希望的效率高。
1条答案
按热度按时间jpfvwuh41#
你不能--这是为什么这个API基本上无法使用的原因之一 * 除了 * 在你自己的模型中,当你知道并控制一切的时候,在那些场景中:您可以使用自己的克隆API(甚至可能是强类型的!)。
框架不为这种情况提供任何API;您 * 可能 * 能够使用序列化程序库作为深度克隆的等价物,尽管这可能没有您希望的效率高。