型パラメーターを受け取るクラスは、ジェネリック クラスと呼ばれます。 ジェネリック クラスを使用している場合は、これらの各パラメーターに型引数を指定することで、そのクラスから構築されたクラスを生成できます。 その後、構築されたクラス型の変数を宣言し、構築されたクラスのインスタンスを作成してその変数に割り当てることができます。
クラスに加えて、ジェネリックの構造体、インターフェイス、プロシージャ、デリゲートを定義して利用することもできます。
次の手順では、.NET Framework で定義されているジェネリック クラスを受け取り、そこからインスタンスを作成します。
型パラメーターを受け取るクラスを使用するには
ソース ファイルの先頭に Imports ステートメント (.NET 名前空間と型) を含めて、 System.Collections.Generic 名前空間をインポートします。 これにより、System.Collections.Queueなどの他のキュー クラスと区別するために完全に修飾しなくても、System.Collections.Generic.Queue<T> クラスを参照できます。
通常の方法でオブジェクトを作成しますが、クラス名の直後に
(Of type)
を追加します。次の例では、同じクラス (System.Collections.Generic.Queue<T>) を使用して、異なるデータ型の項目を保持する 2 つのキュー オブジェクトを作成します。 各キューの末尾に項目を追加し、各キューの先頭から項目を削除して表示します。
Public Sub usequeue() Dim queueDouble As New System.Collections.Generic.Queue(Of Double) Dim queueString As New System.Collections.Generic.Queue(Of String) queueDouble.Enqueue(1.1) queueDouble.Enqueue(2.2) queueDouble.Enqueue(3.3) queueDouble.Enqueue(4.4) queueString.Enqueue("First string of three") queueString.Enqueue("Second string of three") queueString.Enqueue("Third string of three") Dim s As String = "Queue of Double items (reported length " & CStr(queueDouble.Count) & "):" For i As Integer = 1 To queueDouble.Count s &= vbCrLf & CStr(queueDouble.Dequeue()) Next i s &= vbCrLf & "Queue of String items (reported length " & CStr(queueString.Count) & "):" For i As Integer = 1 To queueString.Count s &= vbCrLf & queueString.Dequeue() Next i MsgBox(s) End Sub
こちらも参照ください
.NET