Ler em inglês

Compartilhar via


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

Um procedimento ou uma propriedade é declarada como MustOverride dentro de uma classe 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 declarações parciais. Isso se aplica não apenas aos membros, mas também à implementação, à herança e ao nível do acesso.

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

ID do erro: BC30927

Para corrigir este erro

  • Se a propriedade ou o procedimento precisar ser substituído, remova a palavra-chave NotInheritable da declaração parcial na qual ela aparece.

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

Confira também