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


Класс <имяКласса> не имеет доступного конструктора Sub New и не может быть унаследован

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

Class '<classname>' has no accessible 'Sub New' and cannot be inherited

В классе используется Инструкция Inherits для указания базового класса, но не удается получить доступ к какому-либо конструктору в предполагаемом базовом классе.

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

При наследовании класса конструктор должен вызвать конструктор базового класса с помощью MyBase. Если этот вызов не выполняется или конструктор не указан явным образом, Visual Basic создаст подразумеваемый конструктор, который вызывает MyBase.New().

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

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

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

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

См. также

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

Основы наследования

Уровни доступа в Visual Basic

Ссылки

Инструкция Inherits

MyBase

New (Visual Basic)