Свойство <имяСвойства> неявно объявляет <имяНеявногоЧлена>, который конфликтует с членом, неявно объявленным для члена <имяЧлена> в базовом классе <имяБазовогоКласса>
Обновлен: Ноябрь 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.
Если не требуется затенять базовый член класса, измените имя свойства, чтобы избежать конфликтов имен, описанных в предыдущей таблице.