Postupy: Použití obecné třídy (Visual Basic)

Třída, která přebírá parametry typu, se nazývá obecná třída. Pokud používáte obecnou třídu, můžete z ní vygenerovat vytvořenou třídu zadáním argumentu typu pro každý z těchto parametrů. Pak můžete deklarovat proměnnou vytvořeného typu třídy a můžete vytvořit instanci vytvořené třídy a přiřadit ji k této proměnné.

Kromě tříd můžete také definovat a používat obecné struktury, rozhraní, procedury a delegáty.

Následující postup přebírá obecnou třídu definovanou v rozhraní .NET Framework a vytvoří z ní instanci.

Použití třídy, která přebírá parametr typu

  1. Na začátku zdrojového souboru zahrňte příkaz Imports (obor názvů .NET a typ) pro import System.Collections.Generic oboru názvů. To vám umožní odkazovat na System.Collections.Generic.Queue<T> třídu, aniž byste ji museli plně kvalifikovat, aby se odlišil od ostatních tříd front, jako System.Collections.Queueje .

  2. Vytvořte objekt normálním způsobem, ale přidejte (Of type) ho hned za název třídy.

    Následující příklad používá stejnou třídu (System.Collections.Generic.Queue<T>) k vytvoření dvou objektů fronty, které obsahují položky různých datových typů. Přidá položky na konec každé fronty a pak odebere a zobrazí položky z přední části každé fronty.

    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
    

Viz také