Lire en anglais

Partager via


Impossible de déduire un type commun pour le premier et le second opérandes de l’opérateur 'If' binaire

Impossible de déduire un type commun pour le premier et le second opérandes de l’opérateur 'If' binaire. L’un doit avoir une conversion étendue vers l’autre.

L’opérateur If binaire exige une conversion étendue entre l’un des arguments et l’autre argument. Par exemple, comme il n’y aucune conversion étendue dans l’un ou l’autre sens entre Integer et String, le code suivant génère cette erreur.

Dim first? As Integer
Dim second As String = "First is Nothing"
'' Not valid.
' Console.WriteLine(If(first, second))

ID d’erreur : BC33110

Pour corriger cette erreur

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

    Console.WriteLine(If(first, CInt(second)))
    
  • Réécrivez le code à l’aide d’une construction conditionnelle différente.

    If first IsNot Nothing Then
        Console.WriteLine(first)
    Else
        Console.WriteLine(second)
    End If
    

Voir aussi