如何通过属性公开UDT数组?

时间:2016-02-24 22:52:04

标签: vb6

我有一个类cDept,它定义了UDT。

public type udtEmp
    Name as string
    Id as long 
end type

我定义了一个数组:

private m_Emps() as udtEmp

我想通过属性公开数组。我尝试了以下方法:

Public Property Get Employees() As udtEmp()
    Employees= m_Emps
End Property

到目前为止,一切都在编译。现在我实例化该类并尝试访问该属性。

dim myUdt as udtEmp
dim oDept as cDept
set oDept = new cDept

myUdt = oDept.Employees(1) ' -- error

我收到一条错误,指出Wrong number of arguments or invalid property assignment

我错过了什么?

1 个答案:

答案 0 :(得分:4)

(未经测试)
我认为你的属性访问试图使用'1'作为属性的参数(没有参数),因此'错误的数字'错误。而不是尝试属性获取数组然后索引访问数组,它是否可以使属性get(或不同的)返回所需的数组元素?

Public Property Get Employees(ndx as long) As udtEmp
    Employees= m_Emps(ndx)
End Property