如果數組是通過引用返回,爲什麼不以下工作:VBA - 從屬性返回數組獲取
'Class1 class module
Private v() As Double
Public Property Get Vec() As Double()
Vec = v()
End Property
Private Sub Class_Initialize()
ReDim v(0 To 3)
End Sub
' end class module
Sub Test1()
Dim c As Class1
Set c = New Class1
Debug.Print c.Vec()(1) ' prints 0 as expected
c.Vec()(1) = 5.6
Debug.Print c.Vec()(1) ' still prints 0
End Sub
我認爲這是現貨。它與我觀察到的相符。不過,我希望這些東西有更好的記錄。你有沒有一個很好的資料來源(超越經驗),這樣的東西是拼寫出來的? – jtolle 2011-04-10 18:34:08
Chip Person,一位Excel顧問和MVP在他的網站上說,「數組總是通過引用傳遞」http://www.cpearson.com/excel/byrefbyval.aspx他錯了嗎? – ThomasMcLeod 2011-04-10 18:41:56
他的網站當然不錯。儘管如此,我的意思是更多的「官方」資源 - 也就是幫助,用於VB的舊MS手冊等。這使我堅信,諸如「賦予'='副本陣列」等基本功能留給MVP提供,或者讓用戶通過實驗發現。 – jtolle 2011-04-10 18:52:08