De eerste instructie van deze 'Sub new' moet een expliciete aanroep van 'MyBase.New' of 'MyClass.New' zijn omdat de '<constructorname>' in de basisklasse '<baseclassname>' van '<derivedclassname>' is gemarkeerd als verouderd.
Een klasseconstructor roept geen basisklasseconstructor expliciet aan en de impliciete basisklasseconstructor wordt gemarkeerd met het ObsoleteAttribute kenmerk en de instructie om deze als waarschuwing te behandelen.
Wanneer een afgeleide klasseconstructor geen basisklasseconstructor aanroept, probeert Visual Basic een impliciete aanroep naar een parameterloze basisklasseconstructor te genereren. Als er geen toegankelijke constructor is in de basisklasse die zonder argumenten kan worden aangeroepen, kan Visual Basic geen impliciete aanroep genereren. In dit geval wordt de vereiste constructor gemarkeerd met het ObsoleteAttribute kenmerk, zodat Visual Basic deze niet kan aanroepen.
U kunt elk programmeerelement markeren als niet meer in gebruik door erop toe te passen ObsoleteAttribute . Als u dit doet, kunt u de eigenschap van IsError het kenmerk instellen op of True
False
. Als u dit True
instelt op, behandelt de compiler een poging om het element als een fout te gebruiken. Als u deze instelt op False
, of deze standaard False
instelt, geeft de compiler een waarschuwing uit als er een poging is om het element te gebruiken.
Dit bericht is standaard een waarschuwing omdat de IsError eigenschap ObsoleteAttribute van is False
. Zie Waarschuwingen configureren in Visual Basic voor informatie over het verbergen van waarschuwingen of het behandelen van waarschuwingen als fouten.
Fout-id: BC41003
- Neem een aanroep van
MyBase.New()
ofMyClass.New()
als de eerste instructie van deSub New
in de afgeleide klasse op.
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven: