Ler em inglês

Compartilhar via


Os acessadores da propriedade não podem ser declarados como '<accessmodifier>' em uma propriedade 'NotOverridable'

Uma Instrução Get ou Instrução Set em uma NotOverridable propriedade inclui a Private palavra-chave.

A seguinte linha de raciocínio explica por que NotOverridable e Private não pode ser combinado em uma Instrução de Propriedade:

  1. Uma propriedade ou procedimento que não substitui uma propriedade ou procedimento de classe base tem uma configuração padrão de NotOverridable.

  2. No entanto, uma propriedade ou procedimento em uma classe derivada que substitui uma propriedade ou procedimento de classe base tem uma configuração padrão de Substituível. Para encerrar a hierarquia de substituição, você pode declará-la NotOverridable. Esse é o único contexto no qual você pode usar NotOverridable. Ou seja, você só pode usar NotOverridable em combinação com Substituições.

  3. Se uma propriedade ou um procedimento de classe base for declarado Privado, uma classe derivada não poderá substituir tal propriedade ou procedimento porque não pode acessar esse item. Por isso, você não pode usar Private em combinação com Overridable.

  4. Para substituir uma propriedade ou procedimento, a propriedade ou procedimento de substituição deve ter não apenas a assinatura idêntica, mas também o mesmo nível de acesso. Isso significa que uma propriedade ou procedimento de substituição não pode especificar Private, porque uma propriedade ou procedimento substituível não pode especificar Private.

  5. Como você pode especificar NotOverridable apenas em uma propriedade ou procedimento de substituição, você não pode combiná-la com Private.

Pelo mesmo raciocínio, os procedimentos de propriedade individuais (Get e Set) de uma propriedade de substituição não podem ser Private.

ID de erro: BC31106

Para corrigir este erro

  • Remova a Private palavra-chave da Get instrução ou Set remova as palavras-chave e Overrides da NotOverridableProperty instrução.

Confira também