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


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

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

Class '<classname>' should 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, то при попытке использовать элемент компилятор выдает предупреждение.

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

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

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

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

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

См. также

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

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

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