Ограничение типа <выражение> не является классом или интерфейсом
Обновлен: Ноябрь 2007
Type constraint '<expression>' is not a class or interface
Список ограничений содержит выражение, которое является недопустимым ограничением для параметра типа.
Список ограничений устанавливает требования в отношении аргумента типа, переданного параметру типа. Можно задать следующие требования в любом сочетании:
Аргумент типа должен реализовывать один или несколько интерфейсов.
Аргумент типа должен наследоваться не более чем от одного класса.
Аргумент типа должен предоставлять конструктор без параметров, к которому создающий код может получить доступ
Аргумента типа должен быть ссылочным типом, или он должен быть типом значения
Идентификатор ошибки: BC32048
Исправление этой ошибки
Убедитесь, что выражение и его элементы написаны правильно.
Если выражение не входит в ранее приведенный список требований, удалите его из списка ограничений.
Если выражение ссылается на интерфейс или класс, убедитесь, что компилятор имеет доступ к интерфейсу или классу. Возможно, требуется уточнить его имя или требуется добавить ссылку на проект. Дополнительные сведения см. в подразделе "Ссылки в проектах" раздела Разрешение ссылки, когда несколько переменных имеют одинаковые имена.
См. также
Задачи
Практическое руководство. Уточнение имени объявляемого элемента
Практическое руководство. Добавление и удаление ссылок в Visual Studio (C#)