HOW TO:使用泛型類別 (Visual Basic)
接收「型別參數」(Type Parameter) 的類別稱為「泛型類別」(Generic Class)。 如果您正在使用泛型類別,則可以為其中的每個參數提供「型別引數」(Type Argument),藉以從該類別產生「建構類別」(Constructed Class)。 然後,您便可以宣告建構類別型別的變數、建立建構類別的執行個體,並將該執行個體 (Instance) 指派給該變數。
除了類別之外,您也可以定義並使用泛型結構、介面、程序和委派 (Delegate)。
下列程序會使用 .NET Framework 中所定義的泛型類別,並產生該類別的執行個體。
若要使用接收型別參數的類別
在原始程式檔 (Source File) 的開頭加入 Imports 陳述式 (.NET 命名空間和型別),以匯入 System.Collections.Generic 命名空間。 這可讓您參考 System.Collections.Generic.Queue<T> 類別,而無需指定完整名稱,以便與像是 System.Collections.Queue 的其他佇列類別加以區別。
以一般方式建立物件,但是直接在類別名稱後面加上 (Of type)。
下列範例會使用同一個類別 (System.Collections.Generic.Queue<T>) 建立兩個儲存不同資料型別項目的佇列物件。 它會將項目加入每個佇列的結尾,然後移除並顯示每個佇列開頭的項目。
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
請參閱
工作
HOW TO:定義可以在不同資料型別上提供完全相同功能的類別 (Visual Basic)