Die Klasse '<classname1>' muss eine 'Sub New' deklarieren, da ihre Basisklasse '<classname2>' mehr als eine zugreifbare 'Sub New' hat, die ohne Argumente aufgerufen werden kann

Eine abgeleitete Klasse deklariert keinen Konstruktor, und Visual Basic kann keinen Konstruktor generieren, da der aufzurufende Basisklassenkonstruktor nicht ermittelt werden kann.

Wenn eine abgeleitete Klasse keinen Konstruktor deklariert, versucht Visual Basic einen impliziten parameterlosen Konstruktor zu generieren, der MyBase.New() aufruft. Wenn in der Basisklasse kein zugreifbarer Konstruktor vorhanden ist, der ohne Argumente aufgerufen werden kann (bzw. wenn mehrere vorhanden sind), kann Visual Basic keinen impliziten Konstruktor generieren.

Diese Situation kann z. B. auftreten, wenn ein Basisklassenkonstruktor über ein einzelnes Optional -Argument und ein anderer über ein einzelnes ParamArray -Argument verfügt. Jeder dieser Konstruktoren kann ohne Argumente aufgerufen werden.

Fehler-ID: BC32036

So beheben Sie diesen Fehler

  1. Deklarieren und implementieren Sie mindestens einen Sub New -Konstruktor an einer beliebigen Stelle in der abgeleiteten Klasse.

  2. Fügen Sie einen Aufruf eines Basisklassenkonstruktors MyBase.New()als erste Zeile jedes Sub Newhinzu.

Siehe auch