2009-02-16 43 views

回答

1

如果你使用MemberwiseClone()你會得到一個淺拷貝,這可能不是你想要的,因爲它不會是一個真正的「副本」。如果您不介意共享引用子對象的兩個UserControls,那麼MemberwiseClone()應該做的伎倆。否則,你將不得不編寫自己的實現來支持你的需求。

1

安德魯是正確的。如果你想做一個深度克隆,你需要在你的用戶控件中添加一個返回深度克隆的方法。

這讓人討厭,因爲您需要在您的usercontrol內的每個引用類型上調用此深層克隆方法,以此類推。

該IClonable接口應該是這種模式,但它是完全拙劣的,很大程度上是無用的。