Visual Basic .NET Language
Génériques
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)
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)
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