我有一个名为ViewerElement的MustInherit类,从中派生类如ViewerLine,ViewerImage等。
然后,在主程序中我有一系列不同的元素(图像,线条等)。我想做的事情如下:
Dim NewElement As ViewerElement
For Each Element As ViewerElement In Elements
If blabla Then
NewElement = Element.Clone()
Exit For
End If
Next
Elements.Add(NewElement)
我迫切希望实现这个克隆方法而不会出错。该怎么办呢?
提前多多感谢。
答案 0 :(得分:2)
您应该ViewerElement
实施IClonable
界面
然后,在Clone()
方法中,您应创建一个新的ViewerElement
对象,复制所有属性值(或根据您的需要更改它们)。
Clone()
方法必须返回一个可以与您的类型一起转换的对象;然后由你决定哪些值假设属性,wchis状态有每个内部变量。
一个例子(用C#编写)
public class ViewerElement : ICloneable
{
private int a = 0;
private string b = "";
public ViewerElement(int a, string b)
{
this.a = a;
this.b = b;
}
public object Clone()
{
return new ViewerElement(a, b);
}
}