Не удается вывести общий тип для второго и третьего операндов оператора If
Обновлен: Ноябрь 2007
Сообщение об ошибке
Не удается вывести общий тип для второго и третьего операнда оператора "If". Один должен иметь расширяющее преобразование к другому.
Cannot infer a common type for the second and third operands of the 'If' operator. One must have a widening conversion to the other.
Если оператор If вызывается с тремя аргументами, необходимо выполнить расширяющее преобразование для второго и третьего аргументов. Например, из-за отсутствия расширяющего преобразования в любом направлении между Integer и String, следующий код вызывает эту ошибку.
Dim divisor = 3
' Not valid.
' Console.WriteLine(If(divisor <> 0, number \ divisor, "Division by zero"))
Идентификатор ошибки: BC33106
Исправление этой ошибки
Выполните явное преобразование одного из операндов в коде, если это возможно.
Используйте другую условную конструкцию, например, оператор If...Then...Else.
См. также
Основные понятия
Расширяющие и сужающие преобразования