Recherche…


Créez une classe générique

Un type générique est créé pour s'adapter afin que la même fonctionnalité puisse être accessible pour différents types de données.

Public Class SomeClass(Of T)
    Public Sub doSomething(newItem As T)
        Dim tempItem As T
        ' Insert code that processes an item of data type t.
    End Sub
End Class

Instance d'une classe générique

En créant une instance de la même classe avec un type différent, l'interface de la classe change en fonction du type donné.

Dim theStringClass As New SomeClass(Of String)
Dim theIntegerClass As New SomeClass(Of Integer)

entrer la description de l'image ici

Définir une classe 'générique'

Une classe générique est une classe qui s’adapte à un type donné ultérieurement afin que la même fonctionnalité puisse être proposée à différents types.

Dans cet exemple de base, une classe générique est créée. Il a un sous qui utilise le type générique T. En programmant cette classe, nous ne connaissons pas le type de T. Dans ce cas, T a toutes les caractéristiques de Object.

Public Class SomeClass(Of T)
    Public Sub doSomething(newItem As T)
        Dim tempItem As T
        ' Insert code that processes an item of data type t.
    End Sub
End Class

Utiliser une classe générique

Dans cet exemple, 2 instances de la classe SomeClass ont été créées. Selon le type donné, les 2 instances ont une interface différente:

Dim theStringClass As New SomeClass(Of String)
Dim theIntegerClass As New SomeClass(Of Integer)

entrer la description de l'image ici entrer la description de l'image ici

La classe générique la plus connue est List (of)

Limiter les types possibles donnés

Les types possibles transmis à une nouvelle instance de SomeClass doivent hériter SomeBaseClass. Cela peut aussi être une interface. Les caractéristiques de SomeBaseClass sont accessibles dans cette définition de classe.

Public Class SomeClass(Of T As SomeBaseClass)
    Public Sub DoSomething(newItem As T)
        newItem.DoSomethingElse()
        ' Insert code that processes an item of data type t.
    End Sub
End Class

Public Class SomeBaseClass
    Public Sub DoSomethingElse()
    End Sub
End Class

Créer une nouvelle instance du type donné

La création d'une nouvelle intent d'un type générique peut être faite / vérifiée au moment de la compilation.

Public Class SomeClass(Of T As {New})
    Public Function GetInstance() As T
        Return New T
    End Function
End Class

Ou avec des types limités:

Public Class SomeClass(Of T As {New, SomeBaseClass})
    Public Function GetInstance() As T
        Return New T
    End Function
End Class

Public Class SomeBaseClass
End Class

La baseClass (si l'on ne lui donne aucun objet) doit avoir un paramètre constructeur moins.

Cela peut également être fait à l'exécution par réflexion



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow