Member '<Membername>' verursacht einen Konflikt mit Member '<Membername>' in Basistyp '<Basistypname>' und sollte daher nicht als "Overloads" deklariert werden

Aktualisiert: November 2007

Member '<membername>' conflicts with member '<membername>' in the base type '<basetypename>' and so should not be declared 'Overloads'

Eine Eigenschaft oder Prozedur verwendet das Overloads-Schlüsselwort, um eine vorhandene Eigenschaft oder Prozedur mit demselben Namen erneut zu deklarieren, doch die Eigenschaft oder Prozedur befindet sich in der Basisklasse.

Eine Überladung wird verwendet, um mehrere Versionen einer Eigenschaft oder Prozedur in derselben Klasse zu definieren. Sie können eine zusätzliche Version eines Basisklassenmembers nur definieren, wenn der Basisklassenmember bereits Overloads angibt.

Standardmäßig ist diese Meldung eine Warnung. Weitere Informationen über das Ausblenden von Warnungen bzw. über die Behandlung von Warnungen als Fehler finden Sie unter Konfigurieren von Warnungen in Visual Basic.

Fehler-ID: BC40021

So beheben Sie diesen Fehler

  • Wenn Sie eine zusätzliche Version des Basisklassenmembers definieren möchten und auf den Quellcode der Basisklasse zugreifen können, fügen Sie der Basisklassendefinition das Overloads-Schlüsselwort hinzu.

  • Wenn Sie über keinen Zugriff auf den Quellcode der Basisklasse verfügen, können Sie den Member nicht in einer abgeleiteten Klasse überladen. Entfernen Sie das Overloads-Schlüsselwort.

  • Wenn Sie den Basisklassenmember ersetzen möchten, statt eine zusätzliche Version dieses Members zu definieren, verwenden Sie anstelle von Overloads das Overrides-Schlüsselwort.

  • Wenn Sie den Basisklassenmember unter Verwendung eines neuen Members in der abgeleiteten Klasse ausblenden möchten, verwenden Sie anstelle von Overloads das Shadows-Schlüsselwort.

Siehe auch

Konzepte

Prozedurüberladung

Grundlagen der Vererbung