Conheça o modificador private protected do C# 7.2

eKode
eKode
Published in
2 min readJun 12, 2018

O C#, assim como várias outras linguagens orientadas a objetos, possui vários modificadores de acesso que são utilizados para definir a visibilidade de propriedades e métodos dentro do programa.

Além dos já conhecidos private, protected, public e internal, a versão 7.2 da linguagem trouxe uma nova opção: o private protected. Esse modificador define que uma propriedade ou método pode ser acessado apenas por classes filhas dentro do mesmo assembly. Ou seja, se criarmos uma classe B no assembly B herdando da classe A no assembly A, não teremos acesso aos campos private protected.

Para entender isso melhor, vejamos um exemplo.

Veja na imagem abaixo uma solution com dois projetos, cada um contendo uma classe (pai e filha em assemblies diferentes).

Classes pai e filha em assemblies diferentes

A seguir, na imagem abaixo você pode ver a estrutura da ClasseBase1, que contém um campo private protected:

Classe com campo private protected

Agora, por mais que a ClasseFilha1, localizada em outro projeto, herde da ClasseBase1, ela não terá acesso à Propriedade2, pois estão em assemblies diferentes:

Erro ao tentar acessar propriedade private protected

Esse novo modificador é interessante, por exemplo, quando você está construindo uma biblioteca de classes para um fim específico e precisa que certas classes herdem de outra para aproveitar algumas de suas propriedades, mas não quer que essas propriedades sejam expostas para qualquer um que herdar dessa classe base.

Como desenvolvedores .NET, é importante que estejamos sempre nos atualizando e conhecendo os novos recursos da linguagem e do framework.

E aí, o que achou? Deixe seu comentário e até a próxima.

--

--

eKode
eKode
Editor for

Sua plataforma de cursos de programação.