Видимость внутри сборки в C#
Не каждый класс должен быть виден за пределами вашего приложения.
Internal - уровень доступа внутри одной
сборки. Тип internal class Helper
виден из Program.cs и Service.cs
в том же проекте, но другая сборка не сможет
на него сослаться. Для публичного API класса
оставляют public, а детали реализации
прячут за internal.
Вспомогательный класс спрячем в Token.cs:
internal class Token {
public static string Value() {
return "secret";
}
}
Публичный класс в Door.cs вызовет его из той же сборки:
public class Door {
public static void Open() {
Console.WriteLine(Token.Value());
}
}
В Program.cs достаточно обратиться к Door:
Door.Open();
Сделайте класс Loader, видимый только
внутри сборки, который создает Product
и Store.Box и выводит их поля.
Публичный Runner должен вызывать
Loader из того же проекта.
Спрятайте метод вспомогательного класса
от внешних сборок, оставьте публичный фасад
доступным и проверьте вызов из Program.cs.