La classe '<nomeclasse>' deve dichiarare un 'Sub New' perché '<nomecostruttore>' nella relativa classe base '<nomeclassedibase>' è contrassegnato come obsoleto

Aggiornamento: novembre 2007

Class '<classname>' should declare a 'Sub New' because the '<constructorname>' in its base class '<baseclassname>' is marked obsolete

Una dichiarazione di classe non include un costruttore e il costruttore della classe base è contrassegnato dall'attributo ObsoleteAttribute e dalla direttiva di considerarlo come un avvertimento.

Quando una classe derivata non dichiara un costruttore, in Visual Basic si tenta di generare un costruttore senza parametri che chiama MyBase.New(). Se nella classe base non c'è un costruttore accessibile che può essere chiamato senza argomenti, in Visual Basic non sarà possibile generare un costruttore implicito. In questo caso, il costruttore richiesto è contrassegnato dall'attributo ObsoleteAttribute, quindi non potrà essere chiamato da Visual Basic.

È possibile contrassegnare un elemento di programmazione come non più in uso, applicando ObsoleteAttribute all'elemento. Se si esegue questa operazione, è necessario impostare la proprietà IsError dell'attributo su True o False. Se la si imposta su True, il tentativo di utilizzare l'elemento verrà considerato un errore dal compilatore. Se la si imposta su False o se la sua impostazione predefinita è False, verrà visualizzato un messaggio dal compilatore nel caso in cui si cerchi di utilizzare l'elemento.

Per impostazione predefinita, questo messaggio è un avviso in quanto la proprietà IsError di ObsoleteAttribute è False. Per informazioni su come nascondere gli avvisi o considerarli come errori, vedere Configurazione degli avvisi in Visual Basic.

ID errore: BC41001

Per correggere l'errore

  • Utilizzare Sub New per dichiarare un costruttore nella classe derivata.

Vedere anche

Concetti

Attributi utilizzati in Visual Basic

Applicazione di attributi