La classe '<classname>' deve dichiarare un 'Sub New' perché '<constructorname>' nella relativa classe base '<baseclassname>' è contrassegnato come obsoleto

Una dichiarazione di classe non include un costruttore e il costruttore della classe base è contrassegnato con l'attributo ObsoleteAttribute e la direttiva per considerarla come un avviso.

Quando una classe derivata non dichiara un costruttore, Visual Basic tenta di generare un costruttore implicito senza parametri che chiama MyBase.New(). Se nella classe di base non è presente alcun costruttore accessibile che può essere chiamato senza argomenti, Visual Basic non può generare un costruttore implicito. In questo caso, il costruttore obbligatorio è contrassegnato con l'attributo ObsoleteAttribute , pertanto Visual Basic non può chiamarlo.

È possibile contrassegnare qualsiasi elemento di programmazione come non più in uso applicandolo ObsoleteAttribute . In questo caso, è possibile impostare la proprietà dell'attributo IsError su True o False. Se si imposta su True, il compilatore considera un tentativo di utilizzare l'elemento come errore. Se lo si imposta su Falseo si lascia impostare l'impostazione predefinita su False, il compilatore genera un avviso se si tenta di usare l'elemento .

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

ID errore: BC41001

Per correggere l'errore

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