Nelze odvodit běžný typ pro první a druhý operand binárního operátoru If.

Nelze odvodit běžný typ prvního a druhého operandu binárního operátoru If. Jeden musí mít rozšiřující převod na druhý.

Binární If operátor vyžaduje, aby byl mezi jedním z argumentů a druhým argumentem rozšiřující převod. Například vzhledem k tomu, že neexistuje rozšiřující převod v obou směrech mezi Integer a String, následující kód způsobí tuto chybu.

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

ID chyby: BC33110

Oprava této chyby

  • Pokud je to možné v kódu, zadejte explicitní převod jednoho z operandů:

    Console.WriteLine(If(first, CInt(second)))
    
  • Přepište kód pomocí jiné podmíněné konstrukce.

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

Viz také