我需要传递一个String
数组来使用它的setter方法设置一个类属性。在Module中声明了数组,并使用Redim Preserve
完美地设置了值。调用Class setter方法时会出错。如果我继续没有设置数组数据类型它工作。但我需要将数据类型声明为String
。
我收到了编译错误“类型不匹配:数组或用户定义的类型预期。”
Module
Dim sPageDetails() As String
' set some values to array
' Declare class instance
dim x as new X
with x
.SetPageNumberDetails(sPageDetails) ' assume SetPageNumberDetails is the setter method in class X
end with
End module
'class module start X
Private pageDetails() as String
' Setter for pageDetails array
Public Sub SetPageNumberDetails(ByRef sPageDetails() As String)
pageDetails= sPageDetails
End Sub
' Getter for pageDetails array
Public Function GetPageNumberDetails() As String()
GetPageNumberDetails= pageDetails
End Function
答案 0 :(得分:4)
答案 1 :(得分:0)
保留括号并添加明确的“调用”:
Call .SetPageNumberDetails(sPageDetails)
需要5-10个CPU时钟(约30纳秒),但代码将更具可读性,可编辑性,可审计性等等。它只是 comme il faut ...