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


Первым оператором в этой процедуре Sub New должен быть явный вызов MyBase.New или MyClass.New, так как <имяКонструктора> в базовом классе <имяБазовогоКласса> класса <имяПроизводногоКласса> отмечен как устаревший: <сообщениеОбОшибке>

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

First statement of this 'Sub New' should be an explicit call to 'MyBase.New' or 'MyClass.New' because the '<constructorname>' in the base class '<baseclassname>' of '<derivedclassname>' is marked obsolete: '<errormessage>'

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

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

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

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

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

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

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

  2. Сделайте вызов MyBase.New() или MyClass.New() первым оператором в производном классе Sub New.

См. также

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

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

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