O membro '<membername1>' declara implicitamente '<implicitmembername>', que está em conflito com um membro implicitamente declarado para o membro '<membername2>' na classe base '<baseclassname>'

O membro '<membername1>' declara implicitamente '<implicitmembername>', que está em conflito com um membro implicitamente declarado para o membro '<membername2>' na classe base '<baseclassname>'. Portanto, o membro deve ser declarado como "Shadows".

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 Sobrecargas, o compilador pressupõe que esse membro Sombreie o membro da classe base implícita. Seu código é mais legível e menos propenso a erros se você especificar explicitamente a palavra-chave Shadows para este 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 Membro do value__
Evento Procedimento add_<eventname>

Procedimento remove_<eventname>

Campo do <eventname>Event

Representante <eventname>EventHandler
Propriedade Procedimento get_<propertyname>

Procedimento set_<propertyname>
Membro My.Form, membro My.WebService ou membro de uma classe assinalada com o atributo MyGroupCollectionAttribute m_<variablename> Static variável

Propriedade <variablename>

Procedimento get_<variablename>

Procedimento set_<variablename>
Variável WithEvents Variável _<variablename>

Propriedade <variablename>

Procedimento get_<variablename>

Procedimento set_<variablename>

Devido ao risco de conflitos de nome, você deve evitar nomear qualquer elemento de programação declarado usando a mesma forma que qualquer um desses membros implícitos. Por exemplo, você deve evitar qualquer nome de elemento iniciado com get_ ou set_.

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

ID do Erro: BC40018

Para corrigir este erro

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

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

Confira também