Partager via


La première instruction de ce 'Sub New' doit être un appel explicite à 'MyBase.New' ou 'MyClass.New', car le '<NomConstructeur>' dans la classe de base '<NomClasseDeBase>' de '<NomClasseDérivée>' est marqué comme obsolète : '<MessageErreur>'

Mise à jour : novembre 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: '<errormessage>'

Un constructeur de classe n'appelle pas explicitement un constructeur de classe de base, et le constructeur de classe de base implicite est marqué avec l'attribut ObsoleteAttribute et la directive de le traiter comme une erreur.

Lorsqu'un constructeur de classe dérivée n'appelle pas de constructeur de classe de base, Visual Basic essaie de générer un appel implicite à un constructeur de classe de base sans paramètre. Si aucun constructeur n'est accessible dans la classe de base qui peut être appelée sans arguments, Visual Basic ne peut pas générer un appel implicite. Dans ce cas, le constructeur requis est marqué avec l'attribut ObsoleteAttribute et, de ce fait, Visual Basic ne peut pas l'appeler.

Vous pouvez marquer les éléments de programmation comme n'étant plus utilisés en leur appliquant ObsoleteAttribute. Dans ce cas, vous pouvez affecter à la propriété IsError de l'attribut la valeur True ou False. Si vous affectez la valeur True, le compilateur traite une tentative d'utilisation de l'élément comme une erreur. Si vous affectez la valeur False ou laissez la valeur par défaut False, le compilateur émet un avertissement en cas de tentative d'utilisation de l'élément.

ID d'erreur : BC30920

Pour corriger cette erreur

  1. Examinez le message d'erreur cité et prenez les mesures qui s'imposent.

  2. Incluez un appel à MyBase.New() ou MyClass.New() comme première instruction du Sub New dans la classe dérivée.

Voir aussi

Concepts

Attributs utilisés dans Visual Basic

Application des attributs