Não é possível inferir um tipo comum para o primeiro e segundo operandos do operador 'If' binário
Mensagem de erro
Não é possível inferir um tipo comum para o primeiro e segundo operandos do operador 'If' binário.Um deve ter uma conversão de expansão para Outros.
O binário If operador requer que lá seja uma conversação entre um dos argumentos e o Outros argumento. Por exemplo, devido ao fato de que não há uma conversão de alargamento em ambas as direções entre Integer e String, o seguinte código causa este erro.
Dim first? As Integer
Dim second As String = "First is Nothing"
'' Not valid.
' Console.WriteLine(If(first, second))
ID de erro: BC33110
Para corrigir este erro
Fornecer uma conversão explícita para um dos operandos, se isso for possível em seu código:
Console.WriteLine(If(first, CInt(second)))
Reescreva o código por meio de uma construção condicional diferente.
If first IsNot Nothing Then Console.WriteLine(first) Else Console.WriteLine(second) End If
Consulte também
Conceitos
Conversões Ampliadoras e Redutoras