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édure remove_<eventname> Champ <eventname>Event Délégué <eventname>EventHandler |
Propriété | Procédureget_<propertyname> Procédure set_<propertyname> |
MembreMy.Form , membre My.WebService , membre or member of a class marked with the MyGroupCollectionAttribute |
Variable m_<variablename> Static Propriété <variablename> Procédure get_<variablename> Procédure set_<variablename> |
Variable | Variable Propriété <variablename> Procédure get_<variablename> Procédure set_<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
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.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :