Procedura: utilizzare una classe generica
Aggiornamento: novembre 2007
Una classe che accetta parametri di tipo è definita classe generica. Se si utilizza una classe generica, è possibile generare da essa una classe costruita fornendo un argomento di tipo per ciascuno dei parametri. È possibile dichiarare, quindi, una variabile del tipo della classe costruita e creare un'istanza della classe costruita assegnandola alla variabile.
Oltre alle classi, è inoltre possibile definire e utilizzare strutture, interfacce, routine e delegati generici.
La routine seguente accetta una classe generica definita in .NET Framework e ne crea un'istanza.
Per utilizzare una classe che accetta un parametro di tipo
All'inizio del file di origine, includere Istruzione Imports (tipo e spazio dei nomi .NET) per importare lo spazio dei nomi System.Collections.Generic. In questo modo è possibile fare riferimento alla classe System.Collections.Generic.Queue<T> senza doverla qualificare completamente per differenziarla da altre classi Queue, ad esempio System.Collections.Queue.
Creare l'oggetto come di consueto, ma aggiungere (Of type) immediatamente dopo il nome della classe.
Nell'esempio seguente viene utilizzata la stessa classe (System.Collections.Generic.Queue<T>) per creare due oggetti coda che contengono elementi di tipo dati diverso. La classe aggiunge elementi alla fine di ciascuna coda e quindi rimuove e visualizza elementi dall'inizio di ciascuna coda.
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
Vedere anche
Attività
Procedura: definire una classe in grado di fornire funzionalità identiche con tipi di dati diversi
Concetti
Specifiche CLS (Common Language Specification)