Comment : utiliser une classe générique (Visual Basic)

Une classe qui accepte des paramètres de type est appelée une classe générique. Si vous utilisez une classe générique, vous pouvez générer une classe construite à partir de celle-ci en fournissant un argument de type pour chacun de ces paramètres. Vous pouvez déclarer ensuite une variable du type de la classe construite, et vous pouvez créer une instance de la classe construite et l'assigner à cette variable.

En plus des classes, vous pouvez également définir et utiliser des structures, des interfaces, des procédures et des délégués génériques.

La procédure suivante accepte une classe générique définie dans le .NET Framework et crée une instance de celle-ci.

Pour utiliser une classe qui accepte un paramètre de type

  1. Au début de votre fichier source, incluez une Imports, instruction (espace de noms et type .NET) pour importer l'espace de noms System.Collections.Generic. Cela vous permet de faire référence à la classe System.Collections.Generic.Queue<T> sans devoir la qualifier pleinement pour la différencier des autres classes de file d'attente telles que System.Collections.Queue.

  2. Créez normalement l'objet, mais ajoutez (Of type) immédiatement après le nom de la classe.

    L'exemple suivant utilise la même classe (System.Collections.Generic.Queue<T>) pour créer deux objets Queue qui contiennent des éléments de types de données différents. Il ajoute des éléments à la fin de chaque file d'attente puis supprime et affiche les éléments présents à l'avant de chaque file d'attente.

    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
    

Voir aussi

Tâches

Comment : définir une classe qui fournisse des fonctionnalités identiques pour différents types de données (Visual Basic)

Référence

Of, clause (Visual Basic)

Imports, instruction (espace de noms et type .NET)

Concepts

Types de données en Visual Basic

Types génériques en Visual Basic (Visual Basic)

CLS (Common Language Specification)