Partager via


'<NomÉlément>' est ambigu, car plusieurs types de membres portant ce nom existent dans <type> '<NomType>'

Mise à jour : novembre 2007

'<elementname>' is ambiguous because multiple kinds of members with this name exist in <type> '<typename>'

Une expression accède à un élément de programmation défini dans une classe, une structure, un module ou une interface qui contient plusieurs membres avec le même nom.

La cause la plus probable de cette erreur est le respect de la casse. Les noms Visual Basic ne respectent pas la casse, ce qui signifie que vous pouvez les capitaliser différemment à différents endroits dans votre code. Par exemple, si vous définissez une variable avec le nom XYZ et que vous y accédez ultérieurement en tant que xyz, le compilateur considère les deux noms comme équivalents.

Toutefois, d'autres langages, tels que Visual C# et Visual C++, respectent la casse. Dans ces langages, XYZ et xyz ne sont pas considérés comme le même nom. Par conséquent, une classe écrite dans ces langages pourrait définir une variable nommée XYZ et une propriété nommée xyz. Le common language runtime (CLR) maintient le respect de la casse dans les assemblys. Toutefois, si une application Visual Basic accède à un assembly avec les noms XYZ et xyz, ils apparaissent comme un même nom.

ID d'erreur : BC31429

Pour corriger cette erreur

  1. Si vous avez le contrôle sur le code source du type de définition, envisagez de renommer les membres afin qu'ils soient différenciés par d'autres éléments que la casse. Cela n'est peut-être pas possible si le type de définition a déjà été publié et qu'il est utilisé par d'autres applications.

  2. Si vous ne pouvez pas renommer les membres dans le type définition, supprimez de votre code l'élément de programmation cité. Vous ne pouvez pas accéder à un élément qui apparaît à Visual Basic comme ayant plusieurs définitions.

Voir aussi

Tâches

Dépannage des variables en Visual Basic

Concepts

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

Autres ressources

Common Language Runtime