vous devrez suivre les étapes suivantes d'abord, examiner les classes suivantes. Classes Obj et Gen effectuer exactement les mêmes tâches, mais Obj utilise la classe Object pour permettre tout type pour être stocké dans son domaine, tandis que Gen utilise génériques:
'VB
Classe Obj
V1 publique As Object
V2 publique As Object
Public Sub New (ByVal _v1 As Object, ByVal _V2 As Object) V1 = _v1
V2 = _V2
End Sub
End Class
Classe Gen (T, U) V1 publique Comme T publique V2 Comme U
Public Sub New (ByVal _v1 Comme T, ByVal _V2 Comme U) V1 = _v1
V2 = _V2
End Sub
End Class
//C #
class Obj
{
public Object t;
Objet publique u;
Obj (Object _t, objet _u)
{
t = _t;
u = _u;
}
}
classe Gen
{
T t publique;
publique U u;
Gen publique (T _t, U _u)
{
t = _t;
u = _u;
}
}
Comme vous pouvez le voir, la classe Obj a deux membres de type Object.
La classe Gen a deux membres de terrain de type T et U. Le code consommer détermine les types T et U. Selon la façon dont le code consommer utilise la classe Gen, T et U pourraient être une chaîne, un int, une classe personnalisée, . ou toute combinaison de ces
Il ya une limite importante à la création d'une classe générique (sans contraintes, comme discutés dans la section «Comment utiliser Contraintes», plus loin dans ce chapitre): Code générique est valable uniquement si elle compile pour toujours possible y instance construite du générique, si un Int, une chaîne, ou de toute autre classe.
Essentiellement, vous êtes limité à des liens capabili- de la classe Object de base lors de l'écriture du code générique. Par conséquent, vous pourriez appeler l'ToString ou la méthode GetHashCode au sein de votre classe, mais vous ne pouviez pas utiliser le + opé- rateur ou l'opérateur>. Ces mêmes restrictions ne concernent pas le code de consommer parce que le code de consommer déclare un type spécifique pour le générique.
Comment consommer un type générique
Lorsque vous consommez un type générique, vous devez spécifier les types pour des génériques utilisés.
Considérons le code suivant console d'application, qui utilise les classes Gen et obj:
'VB
"Ajouter deux chaînes en utilisant la cl