Partager via


Le membre '<NomMembre1>' déclare implicitement '<NomMembreImplicite>', qui est en conflit avec un membre dans la classe de base '<NomClasseDeBase>'

Mise à jour : novembre 2007

Message d'erreur

Le membre '<NomMembre1>' déclare implicitement '<NomMembreImplicite>', qui est en conflit avec un membre dans la classe de base '<NomClasseDeBase>'. Par conséquent, le membre ne doit pas être déclaré 'Overloads'
Member '<membername1>' implicitly declares '<implicitmembername>', which conflicts with a member in the base class '<baseclassname>', and so the member should not be declared 'Overloads'

Une propriété d'une classe dérivée génère un membre implicite du même nom qu'un membre de la classe de base et spécifie le mot clé Overloads.

La surcharge permet de définir de nombreuses versions d'une propriété ou d'une procédure dans la même classe. Vous ne pouvez pas définir une version supplémentaire d'un membre de classe de base tant que ce membre ne spécifie pas Overloads. Étant donné que le membre de la classe de base en conflit ne spécifie pas Overloads, le compilateur suppose que cette propriété Shadows utilise le membre de la classe de base implicite.

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 implicit ou synthetic.

Élément déclaré

Membres créés implicitement

Enumération

Membre value__

Événement

Procédure add_<eventname>

Procédure remove_<eventname>

Champ <eventname>Event

Délégué <eventname>EventHandler

Propriété

Procédure get_<propertyname>

Procédure set_<propertyname>

Membre de My.Form, de My.WebService ou d'une classe marquée avec l'attribut MyGroupCollectionAttribute

m_<variablename> Variable Static

Propriété <variablename>

Procédure get_<variablename>

Procédure set_<variablename>

Variable WithEvents

Variable _<variablename>

Propriété <variablename>

Procédure get_<variablename>

Procédure set_<variablename>

En raison du risque de conflit de noms, vous devez éviter de nommer tout élément de programmation déclaré avec un format identique tel que l'un de ces membres implicites. Vous devez par exemple éviter les noms d'éléments commençant 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 Configuration d'avertissements en Visual Basic.

ID d'erreur : BC40022

Pour corriger cette erreur

  • Si vous avez l'intention de masquer ou d'occulter le membre de la classe de base, remplacez le mot clé Overloads par le mot clé Shadows dans la déclaration de la propriété.

  • Si vous n'avez pas l'intention d'occulter le membre de la classe de base, modifiez le nom de la propriété pour éviter les conflits de noms décrits dans le tableau précédent.

Voir aussi

Concepts

Noms d'éléments déclarés