对象引用数组

时间:2015-07-08 15:04:26

标签: arrays vb.net

我想实现ICloneable.Clone()函数。 我的类有一些原始成员,但也有一组引用的对象。 在这个引用的对象类中,我也不想实现这个函数,所以我想知道是否很容易从外面做像MemberWise Clone那样。

Public Function Clone() As Object Implements ICloneable.Clone
    Return Me.MemberwiseClone
End Function

我发现它像Array.Clone,但这仅适用于原始类型?

1 个答案:

答案 0 :(得分:1)

你几乎就在那里。

Public Function Clone() As Object Implements ICloneable.Clone
    Dim copy = Me.MemberwiseClone
    copy.SomeArray = copy.SomeArray.Select(Function(r) r.Clone).ToArray()
    Return copy
End Function

请注意,由于MemberwiseClone受到保护,因此如果这些对象不是与实现此函数的对象相同的继承层次结构,则无法对数组中的对象调用MemberwiseClone。