Leer en inglés

Compartir a través de


El miembro '<membername1>' declara implícitamente '<implicitmembername>', que entra en conflicto con un miembro declarado implícitamente para el miembro '<membername2>' en la clase base '<baseclassname>'

El miembro '<membername1>' declara implícitamente '<implicitmembername>', que entra en conflicto con un miembro declarado implícitamente para el miembro '<membername2>' en la clase base '<baseclassname>'. Por lo que el miembro debe declararse como 'Shadows'.

Un miembro de una clase derivada genera un miembro implícito con el mismo nombre que un miembro implícito para la clase. Dado que los miembros implícitos no especifican Overloads, el compilador supone que este miembro aplica Shadows en el miembro de clase base implícito. El código es más legible y menos propenso al error, si se especifica explícitamente la palabra clave Shadows para este miembro.

El compilador de Visual Basic crea miembros implícitos que corresponden a determinados elementos de programación que el usuario declara. En la tabla siguiente se resumen estos miembros implícitos o sintéticos.

Elemento declarado Miembros creados implícitamente
Enumeración Miembrovalue__
Evento Procedimientoadd_<eventname>

Procedimientoremove_<eventname>

Campo de<eventname>Event

Delegado<eventname>EventHandler
Propiedad Procedimientoget_<propertyname>

Procedimientoset_<propertyname>
MiembroMy.Form , miembro My.WebService , miembro or member of a class marked with the MyGroupCollectionAttribute Variable m_<variablename> Static

Propiedad <variablename>

Procedimientoget_<variablename>

Procedimientoset_<variablename>
Variable Variable

Propiedad <variablename>

Procedimientoget_<variablename>

Procedimientoset_<variablename>

Debido al riesgo de conflictos de nombres, debe evitar asignar un nombre a cualquier elemento de programación declarado con el mismo formato que cualquiera de estos miembros implícitos. Por ejemplo, debe evitar los nombres de elementos que empiecen por get_ o set_.

De forma predeterminada, este mensaje es una advertencia. Para más información sobre cómo ocultar las advertencias o cómo tratarlas como errores, vea Configuring Warnings in Visual Basic.

Identificador de error: BC40018

Para corregir este error

  • Si quiere ocultar, o reemplazar, el miembro de clase base implícito, incluya la palabra clave Shadows en la declaración del miembro de clase derivada.

  • Si no desea reemplazar el miembro de clase base implícito, cambie el nombre del miembro de clase derivada para evitar conflictos con nombres que aparecen en la tabla anterior.

Consulte también