方法: 匿名型のインスタンスを宣言する (Visual Basic)
匿名型を使用すると、データ型のクラス定義を記述せずにオブジェクトを作成できます。 代わりに、コンパイラによってクラスが作成されます。 データ型の名前が指定されないため、この型は匿名型と呼ばれます。
匿名型のインスタンスを宣言するには、プロパティを指定する初期化リストを使用します。 インスタンスの名前、各プロパティの名前、および各プロパティの初期値を指定し、各プロパティがキー プロパティかどうかを示します。
宣言
匿名型のインスタンスを宣言するには
Dim ステートメントを As 句を省略して記述します。
Dim instanceName
同じステートメントで、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"}
これで宣言が完成しました。 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
匿名型のプロパティを宣言する他の方法の詳細については、「方法: 匿名型の宣言におけるプロパティ名と型を推論する (Visual Basic)」を参照してください。
信頼性の高いプログラミング
匿名型は、関連データを格納するための一時的なオブジェクトを作成する場合や、宣言ごとに異なるプロパティを選択する場合に適しています。
匿名型の使用にはいくつかの制限があります。 最も重要な点は、匿名型では名前を使用できないことであり、コード内で型名が必要な場所に使用することはできません。 匿名型を使用するプログラム方法の詳細については、「匿名型 (Visual Basic)」を参照してください。
参照
処理手順
方法: 匿名型の宣言におけるプロパティ名と型を推論する (Visual Basic)