Freigeben über


BC30148: Die erste Anweisung dieser „Sub New“ muss ein Aufruf an „MyBase.New“ oder „MyClass.New“ sein (Zugriff auf Konstruktor ohne Parameter nicht möglich)

Die erste Anweisung dieser "Sub New" muss ein Aufruf an "MyBase.New" oder "MyClass.New" sein, da die Basisklasse <basename> von <derivedname> keine zugreifbare "Sub New" hat, die ohne Argumente aufgerufen werden kann.

In einer abgeleiteten Klasse muss jeder Konstruktor einen Basisklassenkonstruktor (MyBase.New) aufrufen. Wenn die Basisklasse über einen Konstruktor ohne Parameter verfügt, auf den abgeleitete Klassen zugreifen können, ist MyBase.New automatisch abrufbar. Wenn dies nicht der Fall ist, muss ein Basisklassenkonstruktor mit Parametern aufgerufen werden. Dies kann nicht automatisch erfolgen. In diesem Fall muss die erste Anweisung jedes abgeleiteten Klassenkonstruktors einen parametrisierten Konstruktor für die Basisklasse oder einen anderen Konstruktor in der abgeleiteten Klasse aufrufen, der einen Basisklassenkonstruktor aufruft.

Fehler-ID: BC30148

So beheben Sie diesen Fehler

  • Rufen Sie entweder MyBase.New auf, um die erforderlichen Parameter anzugeben, oder rufen Sie einen Peerkonstruktor auf, der einen solchen Aufruf vornimmt.

    Wenn die Basisklasse beispielsweise über einen Konstruktor verfügt, der als Public Sub New(ByVal index as Integer)deklariert ist, könnte die erste Anweisung im abgeleiteten Klassenkonstruktor MyBase.New(100) sein.

Siehe auch