你如何制作一个对象的副本

时间:2008-12-18 21:38:22

标签: wpf vb.net

我有一个名为Bookmarks的对象的集合,它由一组书签组成。此书签集合绑定到树视图控件。

我可以取出我需要的书签,但我需要书签的副本,以便我可以使用它而不是更改原始书签。

任何想法。

感谢。

4 个答案:

答案 0 :(得分:3)

为您的书签类创建一个新的构造函数,该构造函数将现有书签作为参数。

在这个新构造函数中,将现有书签中的所有属性值复制到新书签中。

此技术称为“复制构造函数”。

有关MSDN的文章更详细 - 请参阅How to Write a Copy Constructor

答案 1 :(得分:0)

.Net中的大多数集合类都提供了构造函数重载,允许您传入另一个集合,如

dim copyOfBookMars as New List(of BookMark)(myOriginalBookMarkList)

答案 2 :(得分:0)

用VB做了一段时间,但c#提供了一个clone()方法。

答案 3 :(得分:0)

您通常不会复制Object,Object会复制自身(clone)。由于对象包含状态信息,因此不能将按位复制视为合适;所以定义类需要处理它。

您可能希望在您的案例中实现多个同步指针(书签)。