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

Membro '<membername1>' declara implicitamente '<implicitmembername>', que entra em conflito com um membro implicitamente declarado para membro '<membername2>' na classe base '<baseclassname>'. Assim, o membro deve ser declarado 'Sombras'.

Um membro de uma classe derivada gera um membro implícito com o mesmo nome que um membro implícito da classe base. Como os membros implícitos não especificam Overloads, o compilador assume que esse membro Shadows o membro implícito da classe base. Seu código é mais legível e menos propenso a erros, se você especificar explicitamente a Shadows palavra-chave para esse membro.

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: BC40018

Para corrigir este erro

  • Se você pretende ocultar ou sombrear o membro implícito da classe base, inclua a palavra-chave Shadows na declaração do membro da classe derivada.

  • Se você não pretende sombrear o membro implícito da classe base, altere o nome do membro da classe derivada para evitar conflitos com os nomes listados na tabela anterior.

Consulte também