Interno

Definição – o que significa interno?

Interno, em C #, é uma palavra-chave usada para declarar a acessibilidade de um tipo ou membro de tipo de forma que o acesso seja limitado ao assembly no qual ele é declarado.

Um modificador interno é usado para evitar o uso de um modificador público, que permite o acesso a outros assemblies sempre que necessário. Um modificador interno, portanto, é útil na implementação do conceito de encapsulamento na programação orientada a objetos no nível de montagem. É usado em programas maiores, onde as informações ocultas além dos limites do programa podem melhorar a manutenção e a segurança.

Interno é mais frequentemente usado no desenvolvimento baseado em componente, permitindo que um grupo específico de componentes se comunique de maneira privada e evite o acesso ao código que não é relevante para esse grupo. Modificadores internos permitem o acesso de membros de um assembly dos assemblies amigos que são projetados por razões específicas, como teste de unidade, extensões para bibliotecas de classes, etc.

Definirtec explica interno

Interno é um dos modificadores de acesso que limita o acesso aos tipos definidos na montagem do projeto atual. A acessibilidade padrão de classes e estruturas declaradas em um namespace ou no nível superior de uma unidade de compilação e não em outros tipos é interna.

Por exemplo, ao desenvolver um aplicativo de interface gráfica do usuário (GUI) que envolve elementos de GUI personalizados, como janelas, formulários, controles, etc., eles podem ser especificados com acessibilidade interna para que cooperem de forma privada sem serem expostos ao código que está usando esses elementos.

Fazer referência a um membro com acesso interno de fora do assembly no qual ele é declarado resulta em um erro do compilador. Ao usar os membros internos de uma montagem que precisam ser acessados ​​de uma montagem amiga, o nome da montagem amiga deve ser especificado com o atributo InternalsVisibleToAttribute na montagem onde os membros internos são definidos.

Um método virtual interno não pode ser substituído em C #.

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