Я думаю, что вам лучше всего будет InternalsVisibleTo
атрибут
Обычно, типы и элементы с внутренней областью видимости (в C#) и друг сферой (в Visual Basic), являются видимыми только в сборке, в котором они определены , Атрибут InternalsVisibleToAttribute делает их также видимыми для типов в указанной сборке, которая известна как сборка друзей. Атрибут применяется на уровне сборки. Это означает, что она может быть включена в начале файла исходного кода, или он может быть включен в файле AssemblyInfo в визуальном проекте студии
Конечно, это не мешает людям вызова ваших методов с использованием отражение
Используйте атрибут [InternalsVisibleTo] (http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute.aspx). –
Используйте модификатор внутреннего доступа и установите «внутренние видимые видимости» на тот, который требует большего доступа. –