Partilhar via


Membro '<membername1>' declara implicitamente '<implicitmembername>', que entra em conflito com um membro na classe base '<baseclassname>'

Membro '<membername1>' declara implicitamente '<implicitmembername>', que entra em conflito com um membro na classe base '<baseclassname>', e, portanto, o membro não deve ser declarado 'Sobrecargas'

Uma propriedade em uma classe derivada gera um membro implícito com o mesmo nome que um membro da classe base e especifica a palavra-chave Overloads .

A sobrecarga é usada para definir várias versões de uma propriedade ou procedimento, todas na mesma classe. Não é possível definir uma versão adicional de um membro da classe base, a menos que esse membro da classe base já especifique Overloads. Como o membro da classe base conflitante não especifica Overloads, o compilador assume que essa propriedade Shadows o membro implícito da classe base.

O compilador do Visual Basic cria membros implícitos correspondentes a determinados elementos de programação que você declara. A tabela a seguir resume esses membros implícitos ou sintéticos.

Elemento declarado Membros criados implicitamente
Enumeração value__ Membro
Evento add_<eventname> Tramitação processual

remove_<eventname> Tramitação processual

<eventname>Event campo

<eventname>EventHandler delegado
Property get_<propertyname> Tramitação processual

set_<propertyname> Tramitação processual
My.Form membro, My.WebService membro ou membro de uma classe marcada com o MyGroupCollectionAttribute atributo m_<variablename>Static variável

<variablename> propriedade

get_<variablename> Tramitação processual

set_<variablename> Tramitação processual
WithEvents variável _<variablename> variável

<variablename> propriedade

get_<variablename> Tramitação processual

set_<variablename> Tramitação processual

Devido ao risco de conflitos de nome, você deve evitar nomear qualquer elemento de programação declarado usando o mesmo formulário que qualquer um desses membros implícitos. Por exemplo, você deve evitar qualquer nome de elemento que comece com get_ ou set_.

Por padrão, essa mensagem é um aviso. Para obter mais informações sobre como ocultar avisos ou tratar avisos como erros, consulte Configurando avisos no Visual Basic.

ID de erro: BC40022

Para corrigir este erro

  • Se você pretende ocultar ou sombrear o membro da classe base, substitua a palavra-chave Overloads pela palavra-chave Shadows na declaração da propriedade.

  • Se você não pretende sombrear o membro da classe base, altere o nome da propriedade para evitar os conflitos de nome descritos na tabela anterior.

Consulte também