Procedure: Een algemene klasse gebruiken (Visual Basic)
Een klasse die typeparameters gebruikt, wordt een algemene klasse genoemd. Als u een algemene klasse gebruikt, kunt u er een samengestelde klasse van genereren door een typeargument op te leveren voor elk van deze parameters. U kunt vervolgens een variabele van het samengestelde klassetype declareren en u kunt een exemplaar van de samengestelde klasse maken en deze toewijzen aan die variabele.
Naast klassen kunt u ook algemene structuren, interfaces, procedures en gemachtigden definiƫren en gebruiken.
In de volgende procedure wordt een algemene klasse gebruikt die is gedefinieerd in .NET Framework en wordt er een exemplaar van gemaakt.
Een klasse gebruiken die een typeparameter gebruikt
Voeg aan het begin van het bronbestand een importinstructie (.NET-naamruimte en -type) toe om de System.Collections.Generic naamruimte te importeren. Hiermee kunt u naar de System.Collections.Generic.Queue<T> klasse verwijzen zonder dat u deze volledig moet kwalificeren om deze te onderscheiden van andere wachtrijklassen, zoals System.Collections.Queue.
Maak het object op de normale manier, maar voeg direct na de klassenaam toe
(Of type)
.In het volgende voorbeeld wordt dezelfde klasse (System.Collections.Generic.Queue<T>) gebruikt om twee wachtrijobjecten te maken die items van verschillende gegevenstypen bevatten. Hiermee worden items toegevoegd aan het einde van elke wachtrij, waarna items van de voorzijde van elke wachtrij worden verwijderd en weergegeven.
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