次の方法で共有


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

更新 : 2007 年 11 月

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

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

宣言

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

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

    Dim instanceName

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

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

    新しいプロパティごとに、名前の先頭にピリオドを付け、初期値を割り当てます。プロパティをキー プロパティにする場合は、プロパティ名の前にキーワード 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)