对象复制,最generic的方法,估计是继承ICloneable,然后写Clone函数。

但当该函数不能修改,如是第三方组件中的类,或者因为其它原因,我们就被迫采取别的方法了。

如果碰巧对象实现了ISerializable,那么我们可以:

对象复制(所谓的克隆-Clone)
对象复制(所谓的克隆-Clone)        
private static void TestClone()
        }

对象复制(所谓的克隆-Clone)    [Serializable]
对象复制(所谓的克隆-Clone)    
public class Person
    }

CloneObject和CloneObjectEx的区别在于:CloneObject返回的是强类型,但限制为指定的类型,不通用;后者通用,但性能要更加低。


或者显式采用反射来逐个获取对象的每个属性:
Base class for cloning an object in C# 


如果对象连ISerializable都没有实现,那么我们只能:
How to serialize an object which is NOT marked as 'Serializable' using a surrogate


如果上述的方法都不满意,请你研究得出结果之后告诉我;)

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-16
  • 2021-10-25
  • 2021-11-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-12-14
  • 2021-10-23
  • 2022-12-23
  • 2022-02-24
  • 2022-12-23
  • 2022-01-02
相关资源
相似解决方案