Ler em inglês

Partilhar via


A classe '<classname>' deve declarar um 'Sub New' porque o '<constructorname>' em sua classe base '<baseclassname>' está marcado como obsoleto

Uma declaração de classe não inclui um construtor, e o construtor de classe base é marcado com o ObsoleteAttribute atributo e a diretiva para tratá-lo como um aviso.

Quando uma classe derivada não declara um construtor, Visual Basic tenta gerar um construtor implícito sem parâmetros que chama MyBase.New(). Se não houver nenhum construtor acessível na classe base que pode ser chamado sem argumentos, Visual Basic não pode gerar um construtor implícito. Nesse caso, o construtor necessário é marcado com o atributo, portanto, Visual ObsoleteAttribute Basic não pode chamá-lo.

Você pode marcar qualquer elemento de programação como não estando mais em uso aplicando-se ObsoleteAttribute a ele. Se você fizer isso, poderá definir a propriedade do IsError atributo como um True ou False. Se você defini-lo como True, o compilador tratará uma tentativa de usar o elemento como um erro. Se você defini-lo como False, ou deixá-lo padrão para False, o compilador emitirá um aviso se houver uma tentativa de usar o elemento .

Por padrão, essa mensagem é um aviso, porque a IsError propriedade de ObsoleteAttribute é False. Para obter informações sobre como ocultar avisos ou tratar avisos como erros, consulte Configurando avisos no Visual Basic.

ID de erro: BC41001

Para corrigir este erro

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