-1
私はクラスの1つのプライベート変数として固定サイズの配列を持っています。オブジェクト全体に配列を渡すことができるget/letプロパティを設定する方法はありますか、または値を個別に割り当てる必要はありますか?公共の機能はどうですか?クラスプロパティを使用してプライベートアレイ全体を割り当てる
私はクラスの1つのプライベート変数として固定サイズの配列を持っています。オブジェクト全体に配列を渡すことができるget/letプロパティを設定する方法はありますか、または値を個別に割り当てる必要はありますか?公共の機能はどうですか?クラスプロパティを使用してプライベートアレイ全体を割り当てる
私は確信していませんが、多分あなたはそのようなsthについて話しています。 名前CARRAY
Option Explicit
Dim mArr(1 To 5) As String
Property Get aValue() as Variant
aValue = mArr
End Property
Private Sub Class_Initialize()
mArr(1) = "Test1"
mArr(2) = "Test2"
mArr(3) = "Test3"
mArr(4) = "Test4"
mArr(5) = "Test5"
End Sub`
そして
Option Explicit
Sub Test()
Dim c As cArray
Dim v As Variant
Dim i As Long
Set c = New cArray
v = c.aValue
For i = LBound(v) To UBound(v)
Debug.Print v(i)
Next i
End Sub
更新テストに持つクラス:LET部分のためにあなたがループ
Property Let aValue(nVal As Variant)
Dim i As Long
For i = LBound(nVal) To UBound(nVal)
mArr(i) = nVal(i)
Next i
End Property
が必要になりますが、私は試してみて、リターンするとは思いませんでしたバリアントとしての値それはゲットのパートのために働いたようです。私は主に好奇心から尋ねていた。 – JustinCoplin
letプロパティを追加しました。そこにループが必要です。 – Storax