В выражениях Case оператора Select используются операнды типа Object; может произойти ошибка времени выполнения
Обновлен: Ноябрь 2007
Operands of type Object used in expressions for 'Select', 'Case' statements; runtime errors could occur
Конструкция Select...Case использует одно или несколько выражений типа Тип данных Object.
Когда переменная или выражение вычисляется как Object, компилятор должен осуществить позднее связывание, что вызывает дополнительные операции во время выполнения. Коме того, возможно возникновение ошибок времени выполнения. Например, если назначить Form для переменной Object и попытаться сравнить ее с числом, то среда выполнения создаст InvalidCastException, так как Visual Basic не может преобразовать объект Form в числовое значение.
Выражения в конструкции Select...Case должны быть одного типа данных или тесно связанных типов, которые могут быть преобразованы друг к другу. Это обусловлено тем, что каждая инструкция Case сравнивает хотя бы одно значение с тестовым выражением, на котором основана конструкция Select...Case.
По умолчанию это сообщение является предупреждением. Дополнительные сведения о скрытии предупреждений или их обработке как ошибок см. в разделе Настройка предупреждений в Visual Basic.
Идентификатор ошибки: BC42036
Исправление этой ошибки
- Если это возможно, упорядочите все выражения для вычисления типов данных, для которых определены операторы сравнения.
См. также
Основные понятия
Арифметические операторы в Visual Basic
Операторы сравнения в Visual Basic