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


<выражение> нельзя использовать в качестве ограничения типа

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

'<expression>' cannot be used as a type constraint

Список ограничений содержит выражение, которое является недопустимым ограничением для параметра типа.

Список ограничений устанавливает требования в отношении аргумента типа, переданного параметру типа. Можно задать следующие требования в любой комбинации:

  • Аргумент типа должен реализовывать один или несколько интерфейсов.

  • Аргумент типа должен наследоваться не более чем от одного класса.

  • Аргумент типа должен предоставлять конструктор без параметров, к которому создающий код может получить доступ (включая ограничение New).

Если не включать какой-либо определенный класс или интерфейс в список ограничений, то можно установить более общее требование, указав одно из следующих ограничений:

  • Аргумент типа должен быть типом значения (включая ограничение Structure).

  • Аргумент типа должен быть ссылочным типом (включая ограничение Class).

Нельзя указывать оба ограничения, Structure и Class, для одного и того же параметра типа, а также указывать какой-либо из них более одного раза.

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

Исправление этой ошибки

  • Убедитесь, что выражение и его элементы написаны правильно.

  • Если выражение не входит в ранее приведенный список требований, удалите его из списка ограничений.

  • Если выражение ссылается на интерфейс или класс, убедитесь, что компилятор имеет доступ к интерфейсу или классу. Возможно, требуется уточнить его имя или требуется добавить ссылку на проект. Дополнительные сведения см. в разделе "Ссылки в проектах" в Разрешение ссылки, когда несколько переменных имеют одинаковые имена.

См. также

Задачи

Практическое руководство. Уточнение имени объявляемого элемента

Практическое руководство. Добавление или удаление ссылок в Visual Studio (Visual Basic)

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

Универсальные типы в Visual Basic

Типы значений и ссылочные типы