方法: 匿名型のインスタンスを宣言する (Visual Basic)

匿名型を使用すると、データ型のクラス定義を記述せずにオブジェクトを作成できます。 代わりに、コンパイラによってクラスが作成されます。 データ型の名前が指定されないため、この型は匿名型と呼ばれます。

匿名型のインスタンスを宣言するには、プロパティを指定する初期化リストを使用します。 インスタンスの名前、各プロパティの名前、および各プロパティの初期値を指定し、各プロパティがキー プロパティかどうかを示します。

宣言

匿名型のインスタンスを宣言するには

  1. Dim ステートメントを As 句を省略して記述します。

    Dim instanceName

  2. 同じステートメントで、instanceName に型のプロパティのリストを割り当てます。リストは中かっこで囲み、その前にキーワード New With を付けます。

    Dim instanceName = New With {<property names and initial values>}

    新しいプロパティごとに、名前の先頭にピリオドを付け、初期値を割り当てます。 プロパティをキー プロパティにする場合は、プロパティ名の前にキーワード Key を付けます。 詳細については、「Key (Visual Basic)」を参照してください。 複数のプロパティはコンマで区切ります。 プロパティのデータ型を直接指定することはできません。 型は初期値から推論されます。

    Dim instanceName = New With {Key .Rank = 8,
                                 Key .Title = "Comptroller",
                                 .Location = "headquarters"}
    
  3. これで宣言が完成しました。 instanceName のプロパティには、他のオブジェクトの場合と同じようにアクセスできますが、キー プロパティの値は変更できません。

    instanceName.Location = "conference"
    Console.WriteLine(instanceName.Title)
    ' The following statement does not compile, because Rank is
    ' a key property and cannot be changed.
    ' instanceName.Rank = 9
    
  4. 匿名型のプロパティを宣言する他の方法の詳細については、「方法: 匿名型の宣言におけるプロパティ名と型を推論する (Visual Basic)」を参照してください。

信頼性の高いプログラミング

匿名型は、関連データを格納するための一時的なオブジェクトを作成する場合や、宣言ごとに異なるプロパティを選択する場合に適しています。

匿名型の使用にはいくつかの制限があります。 最も重要な点は、匿名型では名前を使用できないことであり、コード内で型名が必要な場所に使用することはできません。 匿名型を使用するプログラム方法の詳細については、「匿名型 (Visual Basic)」を参照してください。

参照

処理手順

方法: 匿名型の宣言におけるプロパティ名と型を推論する (Visual Basic)

参照

Key (Visual Basic)

概念

ローカル型の推論 (Visual Basic)

匿名型 (Visual Basic)