参数数量错误或无效属性分配集合添加

9

我一直遇到一个错误:

参数数量不正确或者是集合无效的属性分配。

很长一段时间以来,我一直不能确定哪里出了问题。我有一个类和该类内部的一个 Collection,以及一个用于向该集合添加值的 Sub

Private sumLosses As Collection

Private Sub Class_Initialize() 
    Set sumLosses = New Collection
End Sub

Public Property Get getSumLosses()
    getSumLosses = sumLosses
End Property

主模块内部:

For Each clientCopy In clientsColl
        clientCopy.getSumLosses.Add 200  'error
        clientCopy.getSumLosses.Add (200) 'error
Next

为什么这个操作失败了?如何将项目添加到类的集合中?
2个回答

9

sumLosses 是一个 Collection 类型的对象,因此它必须被设置为另一个变量/函数的 Set

使用 Set 应该可以解决问题:

Public Property Get getSumLosses() As Collection
    Set getSumLosses = sumLosses
End Property

此外,定义属性As Collection也许不是个坏主意(但这并没有引起错误)。

1
谢谢。这是一个简单的错误,我甚至没有注意到,以为它是更严重的问题。 - Ans

5

你需要声明 Public Property Get getSumLosses() 为一个 Collection 类型,并且使用 Set

Private sumLosses As Collection

Private Sub Class_Initialize() 
    Set sumLosses = New Collection
End Sub

Public Property Get getSumLosses() as Collection
    Set getSumLosses = sumLosses
End Property

:)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接