1

У меня есть библиотека классов C#, которая будет использоваться в двух разных проектах. Один из них должен иметь доступ ко всем общедоступным классам и методам, а другой должен иметь доступ только к некоторым классам и методам.Ограничить доступ к библиотеке классов в C# .NET

Какое оптимальное решение?

+0

Используйте атрибут [InternalsVisibleTo] (http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute.aspx). –

+0

Используйте модификатор внутреннего доступа и установите «внутренние видимые видимости» на тот, который требует большего доступа. –

ответ

3

Я думаю, что вам лучше всего будет InternalsVisibleTo атрибут

Обычно, типы и элементы с внутренней областью видимости (в C#) и друг сферой (в Visual Basic), являются видимыми только в сборке, в котором они определены , Атрибут InternalsVisibleToAttribute делает их также видимыми для типов в указанной сборке, которая известна как сборка друзей. Атрибут применяется на уровне сборки. Это означает, что она может быть включена в начале файла исходного кода, или он может быть включен в файле AssemblyInfo в визуальном проекте студии

Конечно, это не мешает людям вызова ваших методов с использованием отражение

Смежные вопросы