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


Член <имяЧлена1> неявно объявляет <имяНеявногоЧлена>, какой конфликтует с членом базового класса <имяБазовогоКласса>

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

Сообщение об ошибке

Член "<имя_члена1>" неявно объявляет "<имя_неявного_члена>", который конфликтует с членом в базовом классе "<имя_базового_класса>", и поэтому член не должен объявляться с ключевым словом "Overloads"
Member '<membername1>' implicitly declares '<implicitmembername>', which conflicts with a member in the base class '<baseclassname>', and so the member should not be declared 'Overloads'

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

Перегрузка используется для задания нескольких версий свойства или процедуры в одном и том же классе. Дополнительную версию члена базового класса определить нельзя, если только для данного члена базового класса уже не задано ключевое слово Overloads. Поскольку конфликтующий член базового класса не задает ключевое слово Overloads, компилятор предполагает, что это свойство переопределяет (см. 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.

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

Для исправления этой ошибки выполните следующие действия:

  • Если требуется скрыть или переопределить член базового класса, замените в объявлении свойства ключевое слово Overloads ключевым словом Shadows.

  • Если не требуется переопределять член базового класса, измените имя свойства во избежание конфликтов имен, описанных в предыдущей таблице.

См. также

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

Имена объявленных элементов