Die erste Anweisung des "Sub New"-Blocks muss ein expliziter Aufruf an MyBase.New oder MyClass.New sein, da '<Konstruktorname>' in der <Basisklassenname>-Basisklasse von '<Name der abgeleiteten Klasse>' als veraltet markiert ist.

Aktualisiert: November 2007

First statement of this 'Sub New' must be an explicit call to 'MyBase.New' or 'MyClass.New' because the '<constructorname>' in the base class '<baseclassname>' of '<derivedclassname>' is marked obsolete.

Ein Klassenkonstruktor ruft einen Basisklassenkonstruktor nicht explizit auf, und der implizite Basisklassenkonstruktor ist mit dem ObsoleteAttribute-Attribut und der Direktive markiert, dies als Fehler zu behandeln.

Wenn der Konstruktor einen abgeleiteten Klasse keinen Basisklassenkonstruktor aufruft, versucht Visual Basic, einen impliziten Aufruf eines parameterlosen Basisklassenkonstruktors zu generieren. Wenn in der Basisklasse kein zugeifbarer Konstruktor vorhanden ist, der ohne Argumente aufgerufen werden kann, kann Visual Basic keinen impliziten Aufruf generieren. In diesem Fall wird der erforderliche Konstruktor mit dem ObsoleteAttribute-Attribut markiert, sodass Visual Basic ihn nicht aufrufen kann.

Sie können ein beliebiges Programmierelement als nicht mehr im Gebrauch befindlich markieren, indem Sie ObsoleteAttribute auf das Programmierelement anwenden. In diesem Fall können Sie die IsError-Eigenschaft des Attributs auf True oder auf False festlegen. Wenn Sie True festlegen, behandelt der Compiler einen Versuch, das Element zu verwenden, als Fehler. Wenn Sie False festlegen oder als Standardwert False vorgeben, gibt der Compiler eine Warnung aus, sobald versucht wird, das Element zu verwenden.

Fehler-ID: BC30919

So beheben Sie diesen Fehler

  • Fügen Sie in der abgeleiteten Klasse einen Aufruf von MyBase.New() oder MyClass.New() als erste Anweisung von Sub New ein.

Siehe auch

Konzepte

In Visual Basic verwendete Attribute

Anwendung von Attributen