Методы для внутреннего использования должны быть помечены как внутренние и поэтому невидимы для сторонних абонентов.Если вам нужно совместно использовать методы в своих сборках, используйте InternalsVisibleToAttribute
.
РЕДАКТИРОВАТЬ
Чтобы сделать элементы недоступными для сторонних сборок, отметка члены внутренние .Это запрещает доступ сторонним сборкам.Я упомянул InternalsVisibleToAttribute
из-за вероятности того, что
- ваш внутренний код содержит более одной сборки
- вы отметили некоторых участников как открытых для обеспечения доступа к сборке, но вы нене хочу, чтобы сторонний код имел доступ к этим членам.
Пример:
код для MyAssemblyA:
public static class SomeClass
{
//this method is public because I want to be able to use it in MyAssemblyB
public static void SomeMethodThatShouldBeInternal()
{
}
}
код для моей MyAssemblyB:
public class Program
{
public static void Main()
{
SomeClass.SomeMethodThatShouldBeInternal();
}
}
Чтобы сторонний код не имел доступа к SomeMethodThatShouldBeInternal()
, измените объявление:
public static class SomeClass
{
internal static void SomeMethodThatShouldBeInternal()
{
}
}
Теперь MyAssemblyB не будет компилироваться!Однако это можно исправить, добавив этот атрибут в MyAssemblyA:
[assembly: InternalsVisibleTo("MyAssemblyB")]