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


Член <имяЧлена1> конфликтует с членом, неявно объявленным для члена <имяЧлена2> в базовом типе <имяБазовогоТипа>, и поэтому он не должен быть объявлен как Overloads

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

Member '<membername1>' conflicts with a member implicitly declared for member '<membername2>' in the base type '<basetypename>' and so 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.

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

Чтобы исправить эту ошибку

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

См. также

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

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