我有一个带有ArrSignalCabel变量的类。在这个变量中,我编写了一个对象数组。 属性在我的类的底部只会返回一个数组。而且我无权访问array元素。
Option Explicit
Private ArrSignalCabel As Variant
Property Let ArrSignalCab(ByVal ArrValue As Variant)
ArrSignalCabel = ArrValue
End Property
Property Get ArrSignalCab() As Variant
ArrSignalCab = ArrSignalCabel
End Property
Public Property Get ArrSignalCabIn(index As Integer) As Variant ' not work
ArrSignalCabIn(index) = ArrSignalCabel(index)
End Property
////////////////
NameObjTM2 = TempPanel.ArrCabelPan(i).ArrSignalCabIn(0) ' not work
NameObjTM3 = TempPanel.ArrCabelPan(i).ArrSignalCab ' work
NameObjTM4= NameObjTM3(0).NameSig ' work
PS: TempPanel-一个包含对象数组(ArrCabelPan)的对象。 ArrCabelPan-类结构与所描述的相同。
答案 0 :(得分:0)
您尝试过ArrSignalCabIn = ArrSignalCabel(index)
吗?
属性名称应与您在Property Get
中声明的名称相匹配,例如Function
。
答案 1 :(得分:0)
我找到答案
Public Property Get ArrSignalCabIn(Index As Integer) As Variant
If (ArrSignalCabel(Index) Is Nothing) Then Set ArrSignalCabel(Index) = New Signal
Set ArrSignalCabIn = ArrSignalCabel(Index)
End Property
感谢那些帮助过的人