2

Stringセッター メソッドを使用してクラス プロパティを設定するには、配列を渡す必要があります。Array は 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
4

2 に答える 2

4
.SetPageNumberDetails(sPageDetails)

括弧を削除します:

.SetPageNumberDetails sPageDetails
于 2013-10-23T09:43:30.253 に答える
-1

かっこを残して、明示的な 'Call' を追加します。

Call .SetPageNumberDetails(sPageDetails)

5 ~ 10 CPU ティック (~30 ナノ秒) かかりましたが、コードの読み取り、編集、監査などが容易になります

于 2018-03-15T19:04:58.653 に答える