在VBScript中调整对象内部的数组大小

时间:2018-01-02 20:06:54

标签: arrays vbscript

在VB脚本中,我正在尝试调整对象内部的数组(名为itemList())。 ReDim适用于普通数组,但是在调整对象内部数组的大小时会出错。我正在尝试模仿一个结构,所以我的目标是让某种类型的对象/结构内部有一个动态数组。

Class Person
    Public name
    Dim itemList()
End Class 

Set person1 = new Person
person1.itemList(0) = "football"    'Works fine
ReDim person1.itemList(7)           'Error: "Expected "("

1 个答案:

答案 0 :(得分:3)

您不能以这种方式调整对象的成员变量。处理项列表的更好方法是将成员变量初始化为空数组并追加到它:

Class Person
    Public name
    Public itemList

    Private Sub Class_Initialize()
        itemList = Array()
    End Sub

    Public Sub Take(item)
        ReDim Preserve itemList(UBound(itemList)+1)
        itemList(UBound(itemList)) = item
    End Sub
End Class 

Set person1 = new Person
person1.Take "football"