Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Member „<Membername1>“ deklariert implizit „<Name des impliziten Members>“, was zu einem Konflikt mit einem Member führt, der implizit für Member „<Membername2>“ in der Basisklasse „<Basisklassenname>“ deklariert wird. Daher sollte der Member als "Shadows" deklariert werden.
Ein Member einer abgeleiteten Klasse generiert einen impliziten Member mit demselben Namen wie ein impliziter Member der Basisklasse. Da implizite Member Overloadsnicht angeben, geht der Compiler davon aus, dass dieser Member den impliziten Member der Basisklasse überschattet ( Shadows ). Der Code ist besser lesbar und weniger fehleranfällig, wenn Sie das Shadows -Schlüsselwort für diesen Member explizit angeben.
Der Visual Basic-Compiler erstellt implizite Member, die bestimmten von Ihnen deklarierten Programmierelementen entsprechen. In der folgenden Tabelle werden diese impliziten oder auch synthetischenMember zusammengefasst.
| Deklariertes Element | Implizit erstellte Member |
|---|---|
| Enumeration | value__ -Member |
| Ereignis | add_<eventname> -Prozedurremove_<eventname> -Prozedur<eventname>Event -Feld<eventname>EventHandler-Delegat |
| Eigenschaft | get_<propertyname> -Prozedurset_<propertyname> -Prozedur |
My.Form -Member, My.WebService -Member oder Member einer mit dem Attribut MyGroupCollectionAttribute gekennzeichneten Klasse |
m_<variablename> Static-Variable<variablename>-Eigenschaftget_<variablename> -Prozedurset_<variablename> -Prozedur |
WithEvents -Variable |
_<variablename> -Variable<variablename>-Eigenschaftget_<variablename> -Prozedurset_<variablename> -Prozedur |
Aufgrund des Risikos von Namenskonflikten sollten Sie vermeiden, deklarierte Programmierelemente in derselben Form wie eines dieser impliziten Member zu benennen. Sie sollten z. B. Elementnamen vermeiden, die mit get_ oder set_beginnen.
Standardmäßig ist diese Meldung eine Warnung. Weitere Informationen zum Ausblenden von Warnungen oder zum Behandeln von Warnungen als Fehler finden Sie unter Configuring Warnings in Visual Basic.
Fehler-ID: BC40018
So beheben Sie diesen Fehler
Wenn Sie den impliziten Member der Basisklasse ausblenden oder überschatten möchten, sollten Sie das Shadows -Schlüsselwort in die Deklaration des Members der abgeleiteten Klasse aufnehmen.
Wenn Sie nicht beabsichtigen, den impliziten Member der Basisklasse zu überschatten, ändern Sie den Namen des Members der abgeleiteten Klasse, um Konflikte mit den in der obigen Tabelle aufgelisteten Namen zu vermeiden.