Partager via


BC32061 : « <expression> » ne peut pas être utilisée en tant que contrainte de type

Une liste de contraintes contient une expression qui ne représente pas une contrainte valide sur un paramètre de type.

Une liste de contraintes impose des exigences sur l’argument de type passé au paramètre de type. Vous pouvez spécifier les exigences suivantes dans toute combinaison :

  • L’argument de type doit implémenter une ou plusieurs interfaces

  • L’argument de type doit hériter d’une classe au plus

  • L’argument de type doit exposer un constructeur sans paramètre accessible par le code de création (ajoutez la contrainte New )

Si vous n’incluez pas de classe ni d’interface spécifique dans la liste de contraintes, vous pouvez imposer une condition plus générale en spécifiant l’une des obligations suivantes :

  • L’argument de type doit être un type valeur (ajoutez la contrainte Structure )

  • L’argument de type doit être un type référence (ajoutez la contrainte Class )

Vous ne pouvez pas spécifier à la fois Structure et Class pour le même paramètre de type et vous ne pouvez pas spécifier l’une des deux plusieurs fois.

ID d’erreur: BC32061

Pour corriger cette erreur

  • Vérifiez que l’expression et ses éléments sont correctement orthographiés.

  • Si l’expression ne répond pas à la précédente liste d’exigences, supprimez-la de la liste des contraintes.

  • Si l’expression fait référence à une interface ou une classe, vérifiez que le compilateur a accès à cette interface ou classe. Vous devrez peut-être qualifier son nom et ajouter une référence à votre projet. Pour plus d’informations, consultez « Références aux projets » dans Références aux éléments déclarés.

Voir aussi