Le paramètre de type avec une contrainte 'Structure' ne peut pas être utilisé en tant que contrainte

Mise à jour : novembre 2007

Type parameter with a 'Structure' constraint cannot be used as a constraint

Un paramètre de type avec une contrainte Structure est utilisé comme contrainte pour un autre paramètre de type.

La contrainte Structure requiert que l'argument de type passé à son paramètre de type soit un type valeur. Toutefois, un type valeur ne pouvant pas être implémenté ou hérité, cela n'a pas de sens de l'utiliser comme contrainte, ce qui nécessiterait que l'autre paramètre de type l'implémente ou en hérite.

La seule interprétation utile de cette situation est que les deux arguments de type doivent être exactement du même type. Dans ce cas, votre type générique a besoin d'un seul paramètre de type.

L'instruction suivante peut générer ce message d'erreur.

Class c1(Of t1 As Structure, t2 As t1)

Le type passé à t2 ne peut pas implémenter ou hériter du type passé à t1, car le type passé à t1 doit être un type valeur.

ID d'erreur : BC32114

Pour corriger cette erreur

  • Supprimez le paramètre de type contraint à Structure dans la liste des contraintes de l'autre paramètre de type.

  • Si les deux paramètres de type requièrent le même type valeur, définissez le type générique avec un seul paramètre de type.

Voir aussi

Concepts

Types génériques en Visual Basic

Types valeur et types référence

Référence

Liste de types

Structure (Visual Basic)