C# · Avançado · Inglês · Técnico
InternalsVisibleTo
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.