Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Вы попытались преобразовать тип в другой тип, который может не содержать значение, например значениеInteger, в то время как Long параметр проверки типа (Option Strict Statement) имеет значение On.
Этот тип преобразования называется сужающим преобразованием и может завершиться сбоем во время выполнения. По этой причине запрещает Option Strict On неявные сужающие преобразования.
Идентификатор ошибки: BC30512
Исправление этой ошибки
Определите, существует ли преобразование любого типа в
<type1><type2>. Если оба являются начальными типами Visual Basic или оба являются экземплярами классов, обычно это можно сделать, проконсультируя таблицу в расширенных и сужающих преобразованиях.Если только сужающее преобразование существует из
<type1><type2>, следует использовать явное приведение. Ключевые слова функции CType и оператора DirectCast вызывают исключение во время выполнения, если преобразование завершается ошибкой. Ключевое слово TryCast Operator применяется только к ссылочным типам и возвращает ничего , если преобразование завершается ошибкой.Если сужающееся преобразование существует и программа может терпеть сбой во время выполнения, или вы уверены, что сбой во время выполнения невозможен, можно указать
Option Strict Offв начале исходного кода. Но вы по-прежнему должны заключать преобразование в пробную попытку... Ловить... Наконец, блок инструкции , чтобы избежать непредвиденных результатов или досрочного завершения программы.Если преобразование не существует,
<type1><type2>необходимо повторно оценить логику программы. Возможно, вы сможете написать код, который может назначать значения<type2>соответствующим ожидаемым значениям<type1>.Если преобразование не существует из
<type1><type2>и один из типов является классом или структурой, определенной вами, возможно, вы сможете определить оператор преобразования из этого типа в другой или из другого типа. Дополнительные сведения см. в разделе "Практическое руководство. Определение оператора преобразования".Во всех случаях и в качестве общего руководства следует избегать использования сужающих преобразований, если вы не сможете захватить сбои в
Catchблоке и эффективно справиться с ними.