Класс <имяКласса> должен объявлять Sub New, так как <имяКонструктора> в его базовом классе <имяБазовогоКласса> помечен как устаревший
Обновлен: Ноябрь 2007
Class '<classname>' should declare a 'Sub New' because the '<constructorname>' in its base class '<baseclassname>' is marked obsolete
Объявление класса не включает в себя конструктор; конструктор базового класса помечается атрибутом ObsoleteAttribute и указанием обрабатывать его как предупреждение.
Если производный класс не объявляет конструктор, Visual Basic пытается создать неявный конструктор без параметров, который вызывает MyBase.New(). Если нет доступного конструктора в базовом классе, который можно вызывать без аргументов, то Visual Basic не удается создать неявный конструктор. В этом случае необходимый конструктор помечается атрибутом ObsoleteAttribute, и поэтому Visual Basic не может вызвать его.
С помощью атрибута ObsoleteAttribute можно пометить любой элемент программирования как более неиспользуемый. После этого можно задать для свойства IsError атрибута значение True или False. Если задано значение True, компилятор пытает использовать элемент, как ошибку. Если задать значение False или оставить используемое по умолчанию значение False, то компилятор выдает предупреждение при попытке использования элемента.
По умолчанию это сообщение является предупреждением, поскольку для свойства IsError атрибута ObsoleteAttribute задается значение False. Дополнительные сведения о скрытии предупреждений или обработке предупреждений как ошибок см. в разделе Настройка предупреждений в Visual Basic.
Идентификатор ошибки: BC41001
Исправление этой ошибки
- Используйте Sub New для объявления конструктора в производном классе.