我知道如何实现深复制,
但是看一本书上说,有的类不能实现深复制,会引起错误,
想知道什么样子的类可以执行深复制,比如我自己定义的类如果深复制,有没有什么要注意的地方或者有的类结构比较复杂,他有很多成员也是引用类型的,这样可以执行深复制吗

解决方案 »

  1.   

    有时候,“深拷贝”是不行的。最简单的,比如一个Form对象,它对应的是操作系统中的一个窗体。你仅仅去复制那些托管的字段,是没有办法再造出一个窗体的。再比如,你的一个对象的一个字段记录的是内存的地址(我说的是非托管的内存),你单单拷贝它,那么新的对象还是指向这个地址(或者你让它指向哪里?)。