Поделиться через


Выражение типа <имяТипа> невозможно преобразовать в Object или ValueType

Обновлен: Ноябрь 2007

Expression of type '<typename>' cannot be converted to 'Object' or 'ValueType'

Выражение вычисляет значение, имеющее тип, который не может быть упакован средой CLR.

Термин упаковка-преобразование обозначает обработку, необходимую для преобразования типа к Object или, в некоторых случаях, к ValueType. Среда CLR не может упаковывать определенные типы, такие как ArgIterator и TypedReference.

Если в операторе, содержащем это выражение, не используется CType или CObj, то Visual Basic выполняет неявное преобразование, которое вызывает эту ошибку.

Идентификатор ошибки: BC31394

Чтобы исправить данную ошибку

  1. Найдите выражение, вычисляющее указанный тип.

  2. Найдите часть оператора, в которой выполняется попытка упаковать указанный тип.

  3. Перепишите оператор так, чтобы избежать упаковку-преобразование.

См. также

Основные понятия

Явные и неявные преобразования