Partilhar via


Primeira demonstrativo deste 'Sub New' deve ser uma telefonar explícita para 'MyBase.New' ou 'MyClass.New' porque '<constructorname>' na classe base '<baseclassname>' de '<derivedclassname>' está marcado como obsoleto: '<errormessage>'

Um construtor de classes não chama um construtor de classe de base explicitamente, e o construtor da classe de base implícito está marcado com o atributo ObsoleteAttribute e com a diretriz para tratá-lo como um aviso.

Quando um construtor de classe derivada não chama um construtor de classe based, Visual Basic tenta gerar uma chamda implícita para um construtor de classe de base livre de parâmetros.Se não há construtor acessível na classe base que pode ser chamado sem argumentos, Visual Basic não pode gerar uma chamada implícita.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: BC30920

Para corrigir este erro

  1. Examine a mensagem de erro citada e tome ações apropriadas.

  2. Inclua uma chamada do MyBase.New() ou MyClass.New() como primeira declaração do Sub New na classe derivada.

Consulte também

Conceitos

Atributos usados no Visual Basic

Aplicação de Atributos