原来如比 看例子''''''''''''''''Class1 '''''''''''''''''''''类文件的内容 Public test1 As Variant '存放数组引用的属性Private mvarzjs(10) As Long '存放按下标传递的数组 Public Property Let zjs(ByVal index As Long, ByVal vData As Long) mvarzjs(index) = vData End Property Public Property Get zjs(ByVal index As Long) As Long zjs = mvarzjs(index) End Property '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''form1 Private Sub Form_Load() Dim cls As New class1 Dim zzz(2) As Long '用传递数组 zzz(0) = 12123 zzz(1) = 345 zzz(2) = 56cls.zjs(1) = 11 '按下标传递一个变量 MsgBox cls.zjs(1) '按下标读取一个变量cls.test1 = zzz '把数组zzz付给属性test1 MsgBox cls.test1(0) MsgBox cls.test1(1) MsgBox cls.test1(2) End Sub ''''''''''''''''''''''''''''''''''''''''''''''''
'your code
End Sub你用过类生成器吗?very easy!
dim i as integer for i=0 to ubound(zis)
msgbox str(zjs(i))
next i
End Sub
中关键是传递而不定义,我将一个动态数组或固定数组比如aa()按如下方式赋给一个类属性时报错
kk.zjs=aa
说不能给数组赋值,当我用kk.zjs(1)=aa(1)时报:“不能给只读属性赋值”
请帮忙解决,万分感谢
看例子''''''''''''''''Class1 '''''''''''''''''''''类文件的内容
Public test1 As Variant '存放数组引用的属性Private mvarzjs(10) As Long '存放按下标传递的数组
Public Property Let zjs(ByVal index As Long, ByVal vData As Long)
mvarzjs(index) = vData
End Property
Public Property Get zjs(ByVal index As Long) As Long
zjs = mvarzjs(index)
End Property
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''form1
Private Sub Form_Load()
Dim cls As New class1
Dim zzz(2) As Long '用传递数组
zzz(0) = 12123
zzz(1) = 345
zzz(2) = 56cls.zjs(1) = 11 '按下标传递一个变量
MsgBox cls.zjs(1) '按下标读取一个变量cls.test1 = zzz '把数组zzz付给属性test1
MsgBox cls.test1(0)
MsgBox cls.test1(1)
MsgBox cls.test1(2)
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''