Qual é o objetivo da utilização do nível de visibilidade "internal" em C#, e como ele pode ser aplicado para encapsular uma classe e restringir seu acesso somente ao contexto da biblioteca?
Qual é o objetivo da utilização do nível de visibilidade "internal" em C#, e como ele pode ser aplicado para encapsular uma classe e restringir seu acesso somente ao contexto da biblioteca?
Bruno,
Sim, neste caso somente dentro da DLL.
Internal: é o padrão no C#. Caso nenhum modificador seja declarado, definirá a acessibilidade do elemento dentro do executável ou dll onde foi declarado.
É bem interessante você conhecer bem todos os "Modificadores de Acesso". Por favor, leia mais em:
===============================================================
Modificadores de acesso (Guia de Programação em C#)
Artigo - 06/04/2023
Todos os tipos e membros de tipo têm um nível de acessibilidade. O nível de acessibilidade controla se eles podem ser usados em outro código no assembly ou em outros assemblies. Um assembly é um .dll ou .exe criado ao selecionar um ou mais arquivos .cs em uma única compilação. Use os modificadores de acesso a seguir para especificar a acessibilidade de um tipo ou membro quando você o declarar:
Tabela de resumo
Local do chamador | public | protected internal | protected | internal | private protected | private |
---|---|---|---|---|---|---|
Dentro da classe | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Classe derivada (mesmo assembly) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Classe não derivada (mesmo assembly) | ✔️ | ✔️ | ❌ | ✔️ | ❌ | ❌ |
Classe derivada (assembly diferente) | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
Classe não derivada (assembly diferente) | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
===============================================================
Por favor, NÃO esqueça de fechar o tópico e se eu te ajudei marque minha resposta como correta... eu adoro esses pontinhos! Como diz o Mutley: "- Medalha-Medalha-Medalha."
[]'s,
Fabio I.