La prima istruzione di questo 'Sub New' deve essere una chiamata esplicita a 'MyBase.New' o a 'MyClass.New' perché '<nomecostruttore>' nella classe base '<nomeclassebase>' di '<nomeclassederivata>' è contrassegnato come obsoleto

Aggiornamento: 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.

Un costruttore di classi non chiama esplicitamente un costruttore della classe base, il costruttore implicito della classe base è contrassegnato con l'attributo ObsoleteAttribute e la direttiva specifica di considerare questa condizione come errore.

Quando un costruttore di una classe derivata non chiama un costruttore della classe base, in Visual Basic si tenta di generare una chiamata implicita a un costruttore della classe base senza parametri. Se nella classe base non sono presenti costruttori accessibili che possano essere chiamati senza argomenti, in Visual Basic non è possibile generare una chiamata implicita. In questo caso, il costruttore necessario è contrassegnato con l'attributo ObsoleteAttribute, di conseguenza in Visual Basic non è possibile chiamarlo.

Per contrassegnare un elemento di programmazione come non più in uso, applicare ObsoleteAttribute all'elemento. In questo caso sarà possibile impostare la proprietà IsError dell'attributo su True o False. Se il valore viene impostato su True, il compilatore considererà come errore un tentativo di utilizzare l'elemento. Se il valore viene impostato su False o viene mantenuto il valore predefinito di False, il compilatore visualizzerà un avviso qualora si tenti di utilizzare l'elemento.

ID errore: BC30919

Per correggere l'errore

  • Includere una chiamata a MyBase.New() o MyClass.New() come prima istruzione di Sub New nella classe derivata.

Vedere anche

Concetti

Attributi utilizzati in Visual Basic

Applicazione di attributi