0

UDT を宣言しました。UDT の特定のレコードで配列を初期化する必要があります。モジュール レベルでどのように行うのですか。

これが私が試したものです

Public Type MyType
    id     As Integer
    name   As String
    values As Double
End Type

private MY_TYPES(1) As MyType
My_TYPES(0) = newMyType(1, "Item 1", 15.9)
My_TYPES(1) = newMyType(2, "Item 2", 30.2)

Private Function newMyType(byval id as Integer, byval name as String, _ 
                           byval v as Double) As MyType
    Dim t As MyType
    t.id = id
    t.name = name
    t.value = v
    newMyType = t
End Function

私が得るエラーはInvalid outside procedure

ご覧のとおり、または CollectionのようなJavaの静的初期化を再現しようとしていますListSet

コレクションを定数として公開したいのですが、どうすればこれを実現できますか?

4

1 に答える 1

3

次の 2 行をサブに配置し、サブを呼び出して udt を初期化する必要があります

My_TYPES(0) = newMyType(1, "Item 1", 15.9)
My_TYPES(1) = newMyType(2, "Item 2", 30.2)

または、これらの 2 行を if..then 内の作業サブに配置して、モジュール レベルの init ブール値を使用できます。

于 2013-01-10T08:43:17.737 に答える