Compartir a través de


Cómo: Usar clases genéricas (Visual Basic)

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

  1. 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.

  2. 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 (Visual Basic)

Referencia

Of (Cláusula, Visual Basic)

Instrucción Imports (Tipo y espacio de nombres de .NET)

Conceptos

Tipos de datos en Visual Basic

Tipos genéricos en Visual Basic (Visual Basic)

Common Language Specification