Membro inacessível

Definição - o que significa membro inacessível?

Um membro inacessível, no contexto do C #, é um membro que não pode ser acessado por um tipo específico. Um membro inacessível que não pode ser acessado por um tipo pode ser acessível por outro tipo.

Um membro inacessível pode obter o nível de acessibilidade que controla seu uso de outro código no assembly no qual ele é declarado ou de outros assemblies.

Um membro de um tipo é projetado para ser inacessível de certos tipos para fins de encapsulamento. O encapsulamento de dados ajuda a proteger os dados dentro do objeto de corrupção acidental, bem como a ocultar detalhes de implementação desnecessários do usuário do objeto.

Definirtec explica membro inacessível

A acessibilidade de um membro de um tipo é determinada pelo tipo no qual ele reside e pelo modificador de acesso especificado para ele durante sua declaração. A seguir estão os modificadores de acesso usados ​​para especificar a acessibilidade:

  • Público: acesso à montagem atual e a uma montagem externa que faz referência a ela.
  • Privado: o acesso é limitado ao tipo de conteúdo.
  • Protegido: o acesso é limitado à classe ou tipos de conteúdo derivados do tipo de conteúdo.
  • Interno: o acesso é limitado apenas à montagem atual.
  • Interno protegido: o acesso é limitado à montagem atual ou aos tipos derivados da classe contida.

Por exemplo, um tipo pode ser declarado com um método que possui um modificador protegido de forma que seja inacessível fora da classe, mas acessível para suas classes derivadas.

Nem todos os modificadores de acesso podem ser usados ​​em todos os contextos de todos os tipos. Quando um membro de um tipo não inclui um modificador de acesso durante sua declaração, sua acessibilidade padrão é privada.

De acordo com a restrição de acessibilidade em C #, várias construções exigem que um tipo seja pelo menos tão acessível quanto um membro ou outro tipo. Além disso, se o membro for um método, delegado ou indexador, o tipo de retorno e os tipos de parâmetro devem ser pelo menos tão acessíveis quanto o próprio membro. O uso de um membro inacessível resultará em um erro de tempo de compilação.

Esta definição foi escrita no contexto de C #