Compartilhar via


Como usar uma classe genérica (Visual Basic)

Uma classe que usa Parâmetros de tipo é chamada de uma classe genérica . Se você estiver usando uma classe genérica, você pode gerar uma classe construída a partir dela, fornecendo um tipo de argumento para cada um desses parâmetros. Você pode, em seguida, declarar uma variável do tipo de classe construído, e você pode criar uma instância da classe construída e atribuí-lo a essa variável.

Além disso, para classes, você pode também definir e usar estruturas genéricas, interfaces, procedimentos e representantes.

O procedimento a seguir usa uma classe genérica definida na .NET Framework e cria uma instância dele.

Para usar uma classe que usa um parâmetro do tipo

  1. No início do seu arquivo de origem, inclua uma Instrução Imports (tipo e namespace .NET) para importar o namespace System.Collections.Generic. Isso permite você fazer referência à classe Queue sem precisar qualificá-la totalmente para diferenciá-la de outras classes de consulta, como Queue.

  2. Cria o objeto da forma normal, mas adiciona (Of type) imediatamente após o nome da classe.

    O exemplo a seguir usa a mesma classe (Queue) para criar dois objetos de fila que mantêm itens de diferentes tipos de dados. Ele adiciona itens ao final de cada fila e, em seguida, remove e exibe itens da frente de cada fila.

    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
    

Consulte também

Tarefas

Como definir uma classe capaz de fornecer uma funcionalidade idêntica em tipos de dados diferentes (Visual Basic)

Referência

Cláusula Of (Visual Basic)

Instrução Imports (tipo e namespace .NET)

Conceitos

Tipos de dados no Visual Basic

Tipos genéricos no Visual Basic (Visual Basic)

Independência da linguagem e componentes independentes da linguagem

Outros recursos

Iteradores (C# e Visual Basic)