Une conversion de '<type1>' en '<type2>' ne peut pas se produire dans une expression constante utilisée en tant qu'argument d'un attribut

Mise à jour : novembre 2007

Conversion from '<type1>' to '<type2>' cannot occur in a constant expression used as an argument to an attribute

Une expression utilisée pour un argument d'attribut a pour valeur un type de données autre que celui du paramètre d'attribut correspondant, et Visual Basic n'autorise pas la conversion du type requis pour les arguments d'attribut.

Un attribut fournit des métadonnées pour l'élément auquel il s'applique, et le compilateur doit être capable de construire toutes les métadonnées au moment de la compilation. C'est pourquoi, chaque attribut doit utiliser des valeurs constantes au moment de la compilation, et par conséquent, chaque argument d'attribut doit avoir une valeur de constante de compilation.

Certaines conversions de type ne peuvent pas créer des valeurs constantes au moment de la compilation. Par exemple, la conversion de String en Double ou Date dépend des paramètres régionaux au moment de l'exécution. D'autres conversions, par exemple celle d'un tableau d'un type dérivé en un tableau de Object, créent des problèmes qui ne permettent pas au compilateur de les autoriser sur les arguments d'attribut.

ID d'erreur : BC30934

Pour corriger cette erreur

  • Utilisez une expression qui a pour valeur le même type de données que le paramètre correspondant, telle qu'elle est définie par l'attribut.

Voir aussi

Concepts

Application des attributs

Référence

Const, instruction (Visual Basic)

Autres ressources

Attributs en Visual Basic

Conversions de type en Visual Basic