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


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

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

Class '<classname1>' must declare a 'Sub New' because its base class '<classname2>' has more than one accessible 'Sub New' that can be called with no arguments

Производный класс не объявляет конструктор, и Visual Basic не может создавать его, так как невозможно определить, какой базовый конструктор класса необходимо вызывать.

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

Эта ситуация может возникнуть, например, если один конструктор базового класса имеет единственный аргумент Optional, а другой — единственный аргумент ParamArray. Любой из этих конструкторов может быть вызван без аргументов.

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

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

  1. Объявите и реализуйте по крайней мере один конструктор Sub New в произвольном месте класса.

  2. Добавьте вызов базового класса конструктора MyBase.New() как первую строку каждой процедуры Sub New.

См. также

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

Время существования: создание и уничтожение объектов

Необязательные параметры

Массивы параметров

Ссылки

Использование конструкторов и деструкторов

Optional (Visual Basic)

ParamArray