Sdílet prostřednictvím


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 použijte příkaz 'Imports' (obor názvů .NET a typ) pro import System.Collections.Generic oboru názvů. To vám umožní odkazovat na třídu System.Collections.Generic.Queue<T> bez nutnosti jejího úplného kvalifikování k odlišení od jiných tříd front, jako je System.Collections.Queue.

  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>) ke vytvoření dvou objektů fronty, které uchovávají položky odlišný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é