Partilhar via


Classe '<nomeclasse>' deve declarar um 'Sub New' porque o '<nomeconstrutor>' na sua classe base '<nomeclassebase>' está marcado como obsoleto

Uma declaração de classe não inclui um construtor, e o construtor da classe base está marcado com o atributo ObsoleteAttribute e a diretriz de tratá-lo como um erro.

Quando uma classe derivada não declara um construtor, Visual Basic tenta gerar um construtor implícito sem-parâmetros, chamado MyBase.New().Se não há construtor acessível na classe base que pode ser chamada sem argumentos, Visual Basic não pode gerar um construtor implícito.Neste caso, o construtor exigido é marcado com o atributo ObsoleteAttribute, então Visual Basic não pode chamá-lo.

Você pode marcar qualquer elemento de programação como sendo não mais em uso aplicando-lhe ObsoleteAttribute.Se você fizer isso, você pode determinar a propriedade IsError do atributo para ou True ou False.Se você configurá-lo para True, o compilador trata uma tentativa de usar o elemento como um erro.Se você configurá-lo para False, ou deixá-lo por padrão em False, o compilador emite um aviso se houver uma tentativa de se usar o elemento.

ID de erro: BC30917

Para corrigir este erro

  • Use Sub New para declarar um construtor na classe derivada.

Consulte também

Conceitos

Atributos usados no Visual Basic

Aplicação de Atributos