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' should 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 Warnung zu behandeln.
Wenn der Konstruktor einer abgeleiteten Klasse keinen Basisklassenkonstruktor aufruft, versucht Visual Basic, einen impliziten Aufruf eines parameterlosen Basisklassenkonstruktors zu generieren. Wenn in der Basisklasse kein zugreifbarer 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.
Diese Meldung ist standardmäßig eine Warnung, da die IsError-Eigenschaft von ObsoleteAttributeFalse ist. 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: BC41003
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.