Partilhar via


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

Um procedimento ou uma propriedade é declarado como MustOverride em uma classe que está 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 uma propriedade, uma classe deve herdá-lo de um classe base.Portanto, para especificar MustOverride para um procedimento ou propriedade em um classe base, você deve especificar MustInherit para a classe.Como eles são mutuamente contraditórios, não é possível especificar MustInherit e NotInheritable ao mesmo tempo para a mesma classe.

ID de erro: BC30927

Para corrigir este erro

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

  • Se a classe deve ser NotInheritable, remova a palavra-chave MustOverride do procedimento ou propriedadeVocê não pode substitui-lo porque você não pode herdar a classe.

Consulte também

Conceitos

Noções básicas de herança

Referência

Partial (Visual Basic)

MustOverride

MustInherit

NotInheritable