Член <имяЧлена1> неявно объявляет <имяНеявногочлена>, который конфликтует с членом, неявно объявленным для члена <имяЧлена2> в базовом классе <имяБазовогоКласса>
Обновлен: Ноябрь 2007
Сообщение об ошибке
Член "<имяЧлена1>" неявно объявляет "<имяНеявногоЧлена>", который конфликтует с членом, неявно объявленным для члена "<имяЧлена2>" в базовом классе "<имяБазовогоКласса>". Поэтому член должен объявляться с модификатором Shadows.
Member '<membername1>' implicitly declares '<implicitmembername>', which conflicts with a member implicitly declared for member '<membername2>' in the base class '<baseclassname>'. So the member should be declared 'Shadows'.
Член производного класса создает неявный член с тем же именем в качестве неявного члена базового класса. Поскольку неявные члены класса не определяют Overloads, компилятор предполагает, что этот член Shadows является неявным членом базового класса. Код станет более удобным для чтения и менее подверженным ошибкам, если явно задать ключевое слово Shadows для этого члена.
Компилятор Visual Basic создает неявные члены, соответствующие определенным объявляемым программным элементам. В следующей таблице перечислены неявные или искусственные члены.
Объявленный элемент |
Неявно созданные члены |
---|---|
Перечисление |
Член value__ |
Событие |
Процедура add_<eventname> Процедура remove_<eventname> Поле <eventname>Event Делегат <eventname>EventHandler |
Свойство |
Процедура get_<propertyname> Процедура set_<propertyname> |
Член My.Form, член My.WebService или член класса, помеченный атрибутом MyGroupCollectionAttribute |
Переменная m_<variablename>Static Свойство <variablename> Процедура get_<variablename> Процедура set_<variablename> |
Переменная WithEvents |
Переменная _<variablename> Свойство <variablename> Процедура get_<variablename> Процедура set_<variablename> |
Из-за риска конфликта имен следует избегать именования всех объявленных программных элементов, используя такую же форму, как и для этих неявных членов. Например, следует избегать любых имен элементов, начинающихся с get_ или set_.
По умолчанию это сообщение является предупреждением. Дополнительные сведения о скрытии предупреждений или их обработке как ошибок см. в разделе Настройка предупреждений в Visual Basic.
Идентификатор ошибки: BC40018
Исправление данной ошибки
Если требуется скрыть или затенить неявный базовый член класса, включите в объявление члена производного класса ключевое слово Shadows.
Если не требуется скрывать неявный базовый член класса, измените имя члена производного класса, чтобы избежать конфликтов имен, описанных в предыдущей таблице.