Прочитать на английском

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


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

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

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

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

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

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

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

  • Включите вызов MyBase.New() или MyClass.New() в качестве первого оператора Sub New в производном классе.