Lire en anglais

Partager via


Le membre « <nom_membre1> » déclare implicitement « <nom_membre_implicite> », ce qui entre en conflit avec un autre membre déclaré implicitement pour le membre « <nom_membre2> » dans la classe de base « <nom_classe_base> »

Le membre « <nom_membre1> » déclare implicitement « <nom_membre_implicite> », ce qui entre en conflit avec un autre membre déclaré implicitement pour le membre « <nom_membre2> » dans la classe de base « <nom_classe_base> ». Le membre doit être déclaré 'Shadows'.

Un membre d’une classe dérivée génère un membre implicite portant le même nom qu’un membre implicite de la classe de base. Étant donné que les membres implicites ne spécifient pas Overloads, le compilateur suppose que ce membre occulte ( Shadows ) le membre de classe de base implicite. Votre code est plus lisible, et moins sujet à erreur, si vous spécifiez explicitement le mot clé Shadows pour ce membre.

Le compilateur Visual Basic crée des membres implicites correspondant à certains éléments de programmation que vous déclarez. Le tableau suivant récapitule ces membres implicites ou synthétiques.

Élément déclaré Membres créés implicitement
Énumération Membrevalue__
Événement Procédureadd_<eventname>

Procédureremove_<eventname>

Champ<eventname>Event

Délégué<eventname>EventHandler
Propriété Procédureget_<propertyname>

Procédureset_<propertyname>
MembreMy.Form , membre My.WebService , membre or member of a class marked with the MyGroupCollectionAttribute Variable m_<variablename> Static

Propriété <variablename>

Procédureget_<variablename>

Procédureset_<variablename>
Variable Variable

Propriété <variablename>

Procédureget_<variablename>

Procédureset_<variablename>

En raison du risque de conflits de noms, vous devez éviter de nommer un élément de programmation déclaré en utilisant la même forme que l’un de ces membres implicites. Par exemple, vous devez éviter tout nom d’élément qui commence par get_ ou set_.

Par défaut, ce message est un avertissement. Pour plus d’informations sur le masquage des avertissements ou le traitement des avertissements en tant qu’erreurs, consultez Configuring Warnings in Visual Basic.

ID d’erreur : BC40018

Pour corriger cette erreur

  • Si vous envisagez de masquer ou d’occulter le membre de classe de base implicite, incluez le mot clé Shadows dans la déclaration du membre de classe dérivée.

  • Si vous ne souhaitez pas occulter le membre de classe de base implicite, modifiez le nom du membre de classe dérivée pour éviter les conflits avec les noms répertoriés dans le tableau précédent.

Voir aussi