Freigeben über


'<Elementname>' ist mehrdeutig, da in <Typ> '<Typname>' mehrere Arten von Membern mit diesem Namen enthalten sind

Aktualisiert: November 2007

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

Ein Ausdruck greift auf ein Programmelement zu, das in einer Klasse, einer Struktur, einem Modul oder einer Schnittstelle definiert wurde, die oder das mehr als einen Member mit demselben Namen enthält.

Die häufigste Ursache für diesen Fehler liegt bei der Groß-/Kleinschreibung. In Visual Basic wird die Groß-/Kleinschreibung bei Namen nicht berücksichtigt. Die Namen können also an verschiedenen Stellen im Code unterschiedlich geschrieben werden. Wenn Sie beispielsweise eine Variable mit dem Namen XYZ definieren und später unter dem Namen xyz darauf zugreifen, betrachtet der Compiler diese beiden Namen als äquivalent.

In anderen Sprachen wie Visual C# und Visual C++ wird die Groß-/Kleinschreibung jedoch berücksichtigt. In einer solchen Sprache werden XYZ und xyz als unterschiedliche Namen betrachtet. Daher kann eine Klasse, die in einer solchen Sprache geschrieben wurde, eine Variable mit dem Namen XYZ und eine Eigenschaft mit dem Namen xyz definieren. Die Common Language Runtime (CLR) behält die Berücksichtigung der Groß-/Kleinschreibung in Assemblys bei. Wenn jedoch eine Visual Basic-Anwendung auf eine Assembly mit den Namen XYZ und xyz zugreift, werden beide Namen als ein und derselbe Name angesehen.

Fehler-ID: BC31429

So beheben Sie diesen Fehler

  1. Wenn Sie die Kontrolle über den Quellcode des definierenden Typs haben, sollten Sie die Umbenennung der Member in Erwägung ziehen, sodass diese sich nicht nur durch die Groß-/Kleinschreibung sondern zusätzlich durch weitere Kriterien unterscheiden. Dies ist unter Umständen nicht möglich, wenn der definierende Typ bereits veröffentlicht wurde und von anderen Anwendungen verwendet wird.

  2. Wenn eine Umbenennung der Member des definierenden Typs nicht möglich ist, entfernen Sie das genannte Programmelement aus dem Code. Sie können nicht auf ein Element zugreifen, für das Visual Basic mehrere Definitionen findet.

Siehe auch

Aufgaben

Problembehandlung bei Variablen in Visual Basic

Konzepte

Namen deklarierter Elemente

Weitere Ressourcen

Common Language Runtime