Partilhar via


Membro '< membername1 >' declara implicitamente '< implicitmembername >', que está em conflito com um membro implicitamente declarado para membro '< membername2 >' in a classe base '< baseclassname >'

Mensagem de erro

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 'Shadows'.

Um membro de um classe derivada gera um membro implícito com o mesmo nome como um membro implícito de classe base.Devido ao fato de que implícitos membros não especificam Sobrecargas, o compilador pressupõe que esta propriedade ou procedimento Sombras o membro de classe de base implícito.O código é mais legível e menos propenso a erro, se você especificar explicitamente a Shadows palavra-chave para esse membro.

O compilador Visual Basic cria membros implícitos correspondentes a certos elementos de prgramaçã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>Procedimento

remove_<eventname>Procedimento

<eventname>Event campo

<eventname>EventHandlerdelegado

Propriedade

get_<propertyname>Procedimento

set_<propertyname>Procedimento

Membro My.Form, membro My.WebService ou membro de uma classe marcados com o atributo MyGroupCollectionAttribute

m_<variablename>Static variável

Propriedade <variablename>

get_<variablename>Procedimento

set_<variablename>Procedimento

WithEvents variável

_<variablename> variável

Propriedade <variablename>

get_<variablename>Procedimento

set_<variablename>Procedimento

Por causa do risco de conflitos de nome, você deve evitar nomeação de qualquer elemento de programação declarado usando o mesmo formulário como qualquer um desses membros implícitos.Por exemplo, você deve evitar qualquer elemento nome que começa com get_ ou set_.

Por padrão, essa é uma mensagem de aviso.Para maiores informações sobre como ocultar avisos ou tratar avisos como erros, consulte Configurando Avisos (Warnings) no Visual Basic.

ID de erro: BC40018

Para corrigir este erro

  • If you intend to hide, or shadow, the implicit base class member, include the Sombras keyword in the declaration of the derived class member.

  • If you do not intend to shadow the implicit base class member, change the name of the derived class member to avoid conflicts with names listed in the previous table.

Consulte também

Conceitos

Nomes de Elementos Declarados