'MustOverride' não pode ser especificado em '<procedurename>' porque está em um tipo parcial que é declarado 'NotInheritable' em outra definição parcial

Um procedimento ou propriedade é declarado como MustOverride dentro de uma classe que é definida em várias declarações parciais, mas uma das definições parciais especifica NotInheritable para a classe.

Quando você divide a definição de uma classe entre várias declarações parciais, o compilador trata a classe como a união de todas as suas declarações parciais. Isso se aplica não apenas aos membros, mas também à implementação, herança e nível de acesso.

Para substituir um procedimento ou propriedade, uma classe deve herdá-lo de uma classe base. Portanto, para especificar MustOverride para um procedimento ou propriedade em uma classe base, você deve especificar MustInherit para a classe. Como eles são mutuamente contraditórios, você não pode especificar ambos MustInherit e NotInheritable para a mesma classe.

ID de erro: BC30927

Para corrigir este erro

  • Se a propriedade ou o procedimento tiver de ser substituído, remova a NotInheritable palavra-chave da declaração parcial em que aparece.

  • Se a classe deve ser NotInheritable, remova a MustOverride palavra-chave do procedimento ou propriedade. Não é possível substituí-lo porque não é possível herdar a classe.

Consulte também