Partilhar via


Classe '<NomeDaClasse>' não tem 'Sub New' acessível e não pode ser herdada

Uma classe usa uma Declaração Inherits para especificar um classe base, mas ela não pode acessar nenhum construtor na classe base pretendida.

Isso pode acontecer se a classe base pretendida não tiver nenhum construtor ou se ele tiver construtor com níveis de acesso que impeçam o acesso de outra classe.

Quando você herda uma classe, o construtor deve chamar o construtor da classe base usando MyBase.Se você não fizer essa chamada, ou se você nem mesmo gravar um construtor explícito, Visual Basic gera um construtor implícito que chama MyBase.New().

ID de erro: BC31399

Para corrigir este erro

  1. Se você tiver controle do código-fonte sobre a classe base pretendido, altere o nível de acesso de pelo menos um dos seus construtores para que outra classe possa acessá-los.

  2. Se você não puder alterar os níveis de acesso dos construtores da classe base pretendidos, herde de uma classe diferente ou de nenhuma classe.

Consulte também

Conceitos

Noções básicas de herança

Níveis de acesso em Visual Basic

Referência

Declaração Inherits

MyBase

Novo (Visual Basic)