Porady: używanie klasy ogólnej (Visual Basic)

Klasa, która ma Parametry typu jest nazywany klasą rodzajową.Jeśli używasz klasą rodzajową, można wygenerować skonstruowane klasy z niego, podając argumentu typu dla każdego z tych parametrów.Następnie można zadeklarować zmiennej typu klasy skonstruowane i można utworzyć instancję klasy skonstruowane i przypisać ją do tej zmiennej.

W uzupełnieniu do klas można również zdefiniować i użyć rodzajowy struktur, interfejsy, procedur i delegatów.

Poniższa procedura ma klasą rodzajową zdefiniowane w .NET Framework i tworzy instancję z niego.

Aby użyć klasy, która przyjmuje parametr typu

  1. Na początku pliku źródłowego zawiera Imports — Instrukcja (.NET Namespace i Type) do importowania System.Collections.Generic obszaru nazw.Dzięki temu można odwoływać się do Queue klasa bez konieczności pełni zakwalifikować go na odróżnienie go od innych klas kolejki takie jak Queue.

  2. Utwórz obiekt w normalny sposób, ale Dodaj (Oftype) zaraz po nazwie klasy. 

    W poniższym przykładzie użyto tej samej klasie (Queue) do tworzenia dwóch obiektów kolejki, które zawierają elementy różnych typów danych.To dodaje elementy na końcu każdej kolejki a następnie usuwa i wyświetla elementy z przodu każdej kolejki.

    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
    

Zobacz też

Zadania

Porady: definiowanie klasy, która może zapewnić identyczną funkcjonalność różnych typów danych (Visual Basic)

Informacje

Of — Klauzula (Visual Basic)

Imports — Instrukcja (.NET Namespace i Type)

Koncepcje

Typy danych w Visual Basic

Typy ogólne w Visual Basic (Visual Basic)

Niezależność od języka i elementy niezależne od języka

Inne zasoby

Iteratory (C# i Visual Basic)