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


Класс <имяКласса> должен объявить Sub New, так как <имяКонструктора> в его базовом классе <имяБазовогоКласса> отмечено как устаревшее

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

Class '<classname>' must declare a 'Sub New' because the '<constructorname>' in its base class '<baseclassname>' is marked obsolete: '<errormessage>'

Объявление класса не включает конструктор и базовый конструктор класса помечается атрибутом ObsoleteAttribute; это является причиной возникновения ошибки.

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

С помощью атрибута ObsoleteAttribute можно пометить любой программный элемент как более неиспользуемый. После этого можно задать для свойства IsError атрибута значение True или False. Если задано значение True, компилятор рассматривает попытку использования элемента как ошибку. Если задать значение False или оставить используемое по умолчанию значение False, то при попытке использовать элемент компилятор выдает предупреждение.

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

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

  1. Просмотрите сообщение об ошибке и выполните необходимые действия.

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

См. также

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

Атрибуты, используемые в Visual Basic

Применение атрибутов