Выражение типа <имяТипа1> никогда не может иметь тип <имяТипа2>
Обновлен: Ноябрь 2007
Expression of type '<typename1>' can never be of type '<typename2>'
Выражение TypeOf...Is проверяет объектную ссылочную переменную на тип данных, который она хранить не может.
В некоторых случаях компилятор может определить, что тестирование TypeOf...Is может завершиться только ошибкой, например, если нет отношения наследования между двумя классами.
Следующий код может вызвать эту ошибку.
Dim refVar as System.Windows.Forms.Form
If TypeOf refVar Is System.Array
End If
Поскольку Form и Array являются полностью несвязанными типами, компилятор может определить, что выражение TypeOf...Is возвращает False для любого значения refVar.
Идентификатор ошибки: BC31430
Чтобы исправить эту ошибку
- Проверяйте переменную на реалистичные типы данных или полностью удалите проверку TypeOf...Is.
См. также
Задачи
Практическое руководство. Определение типа, на который указывает объектная переменная