Разрешение вопросов, связанных с исключениями: System.InvalidCastException
Обновлен: Ноябрь 2007
Исключение InvalidCastException порождается при возникновении сбоя во время преобразования явной ссылки. Ссылки преобразования преобразовывают из одного ссылочного типа в другой. Они могут изменить тип ссылки, но они никогда не изменяют тип или значение элемента, на который указывает ссылка. Приведение объектов из одного типа в другой часто является причиной возникновения этого исключения.
Полезные советы
- Проверьте назначение исходного типа с конечным типами, чтобы убедиться, что преобразование является допустимым.
Сведения о преобразованиях, поддерживаемых системой, см. в Convert.
Заметки
При успешном явном преобразовании ссылки, исходным значением должно быть Null (Nothingв Visual Basic), или тип объекта, вызванного с помощью исходного аргумента, должен быть конвертируемым в конечный тип с помощью неявного преобразования ссылки.
При обновлении Visual Basic до новой версии и запуска приложения Visual Basic 6.0 с вызовом пользовательского события в элементе управления пользователя, может возникнуть исключение, сообщающее, что указанное приведение неверно. Чтобы устранить эту ошибку, найдите следующую строку кода в Form1:
Call UserControl11_MyCustomEvent(UserControl11, New UserControl1.MyCustomEventEventArgs(5))
И замените ее на:
Call UserControl11_MyCustomEvent(UserControl11(0), New UserControl1.MyCustomEventEventArgs(5))
См. также
Задачи
Практическое руководство. Преобразование объекта к другому типу в Visual Basic
Основные понятия
Преобразование строк в типы данных .NET Framework