If you want to make internal
classes or functions of an assembly accessable from another assembly you declare this by InternalsVisibleTo
and the assembly name that is allowed to access.
In this example code in the assembly MyAssembly.UnitTests
is allowed to call internal
elements from MyAssembly
.
[assembly: InternalsVisibleTo("MyAssembly.UnitTests")]
This is especially useful for unit testing to prevent unnecessary public
declarations.