ExpertiDict

C# · Avançado · Inglês · Técnico

InternalsVisibleTo

/ɪnˈtɝnəlz ˈvɪzəbəl tu/substantivo

Atributo de assembly que libera os membros internal de um assembly para outro assembly específico. É usado para que projetos de teste acessem tipos que não são públicos.

Onde usar

Aparece em bibliotecas que mantêm a API pública enxuta e ainda querem testar classes internal. Pode ser declarado no csproj com o item InternalsVisibleTo, sem arquivo AssemblyInfo.

Em código

<ItemGroup>
  <InternalsVisibleTo Include="Loja.Tests" />
</ItemGroup>

Exemplos

Add InternalsVisibleTo so the test project sees the internals.

Adicione InternalsVisibleTo para o projeto de testes enxergar os internos.

I'd avoid InternalsVisibleTo between production assemblies.

Eu evitaria InternalsVisibleTo entre assemblies de produção.

Cuidado

Não use para dar acesso permanente a código de produção: isso acopla os assemblies e quebra o encapsulamento que internal oferece.

Veja também

Todos os termos de C#