如何创建深度克隆用户控件的方法

时间:2009-02-16 20:19:48

标签: c#

我想在我的程序中创建一个用户控件的深层克隆。怎么做 感谢

2 个答案:

答案 0 :(得分:1)

如果您使用MemberwiseClone(),您将得到一份浅色副本,这可能不是您想要的,因为它不是真正的“副本”。如果您不介意对子对象的两个UserControls共享引用,那么MemberwiseClone()应该可以解决问题。否则,您必须编写自己的实现来支持您的要求。

答案 1 :(得分:1)

安德鲁是对的。如果要进行深度克隆,则需要向usercontrol添加一个返回深度克隆的方法。

这很烦人,因为您需要在usercontrol中的每个引用类型上调用此Deep Clone方法,等等。

IClonable界面应该可以促进这种模式,但它完全被搞砸了,而且很大程度上没用。