Cómo: Utilizar una clase genérica
Actualización: noviembre 2007
Una clase que toma parámetros de tipo se denomina clase genérica. Si está utilizando una clase genérica, puede generar una clase construida desde ella proporcionando un tipo de argumento para cada uno de estos parámetros. Entonces puede declarar una variable del tipo de clase construida, crear una instancia de clase construida y asignarla a esa variable.
Además de las clases, también puede definir y utilizar estructuras genéricas, interfaces, procedimientos y delegados.
El procedimiento siguiente toma una clase genérica definida en .NET Framework y crea una instancia a partir de ella.
Para utilizar una clase que toma un parámetro de tipo
Al principio de su archivo de código fuente, incluya una Instrucción Imports (Tipo y espacio de nombres de .NET) para importar el espacio de nombres System.Collections.Generic. Así podrá hacer referencia a la clase System.Collections.Generic.Queue<T> sin necesidad de asignarle un nombre completo para diferenciarla de otras clases de cola como System.Collections.Queue.
Cree el objeto de la manera normal, pero agregue (Of type) inmediatamente después del nombre de clase.
El ejemplo siguiente utiliza la misma clase (System.Collections.Generic.Queue<T>) para crear dos objetos de cola que contienen elementos de distintos tipos de datos. Así se agregan los elementos al final de cada cola y, a continuación, se quitan y muestran los elementos del principio de cada cola.
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
Vea también
Tareas
Cómo: Definir una clase que pueda proporcionar la misma funcionalidad en tipos de datos diferentes
Conceptos
Tipos de datos en Visual Basic
Tipos genéricos en Visual Basic