如何:使用泛型類別 (Visual Basic)

採用 「類型參數」 (type parameter) 的類別稱為 「泛型類別」(generic class)。 如果您使用泛型類別,則可以透過它產生 「建構類別」 (constructed class),方法是提供所有這些參數的 「類型引數」 (type argument)。 您接著可以宣告所建構類別類型的變數,而且可以建立所建構類別的執行個體,並將它指派給該變數。

除了類別之外,您還可以定義和使用泛型結構、介面、程序和委派。

下列程式會採用 .NET Framework 定義的泛型類別,並從中建立執行個體。

使用採用類型參數的類別

  1. 在來源檔案的開頭,包含匯入陳述式 (.NET 命名空間與型別),以匯入 System.Collections.Generic 命名空間。 這可讓您參考 System.Collections.Generic.Queue<T> 類別,而不需要完整限定它就區分它與其他佇列類別 (例如 System.Collections.Queue)。

  2. 以一般方式建立物件,但是在類別名稱之後立即新增 (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
    

另請參閱