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


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

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

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

Член <имяЧлена1> неявно объявляет <имяНеявногоЧлена>, который конфликтует с членом, неявно объявленным для члена <имяЧлена2> в базовом классе <имяБазовогоКласса>. Поэтому элемент не должен быть объявлен как "Overloads".
Member '<membername1>' implicitly declares '<implicitmembername>', which conflicts with a member implicitly declared for member '<membername2>' in the base class '<baseclassname>'. 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.

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

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

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

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

См. также

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

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