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:
Uma propriedade ou procedimento que não substitui uma propriedade ou procedimento de classe base tem uma configuração padrão de NotOverridable.
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 usarNotOverridable
. Ou seja, você só pode usarNotOverridable
em combinação com Substituições.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 comOverridable
.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 especificarPrivate
.Como você pode especificar
NotOverridable
apenas em uma propriedade ou procedimento de substituição, você não pode combiná-la comPrivate
.
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
- Remova a
Private
palavra-chave daGet
instrução ouSet
remova as palavras-chave eOverrides
daNotOverridable
Property
instrução.
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: