Impossible de déduire un type commun pour le deuxième et le troisième opérande de l'opérateur 'If'

Mise à jour : novembre 2007

Message d'erreur

Impossible de déduire un type commun pour le deuxième et le troisième opérande de l'opérateur 'If' L'un des deux doit avoir une conversion étendue à l'autre.
Cannot infer a common type for the second and third operands of the 'If' operator. One must have a widening conversion to the other.

Lorsque l'opérateur If est appelé avec trois arguments, une conversion étendue doit avoir lieu entre le deuxième et le troisième argument. Par exemple, étant donné qu'il n'existe pas de conversion étendue dans l'une ou l'autre direction entre Integer et String, le code suivant provoque cette erreur.

Dim divisor = 3
' Not valid.
' Console.WriteLine(If(divisor <> 0, number \ divisor, "Division by zero"))

ID d'erreur : BC33106

Pour corriger cette erreur

  • Fournissez une conversion explicite pour l'un des opérandes si cela est possible dans votre code.

  • Utilisez une construction conditionnelle différente, telle qu'une instruction If...Then...Else.

Voir aussi

Concepts

Conversions étendues et restrictives

Référence

If, opérateur

If...Then...Else, instruction (Visual Basic)