Новый консольный шаблон проекта создает Основной метод как это:
class Program
{
static void Main(string[] args)
{
}
}
Почему это - это ни один Main
метод, ни Program
потребность класса быть общедоступным?
Точка входа в программу обозначается директивой .entrypoint
IL. Не имеет значения, является ли метод или класс публичным или нет, важна только эта директива.
Метод Main
не должен называться кем угодно.
На самом деле он отмечен как точка входа для выполнения в самом EXE, и поэтому по умолчанию не имеет внешних вызывающих.
Если вы ХОТИТЕ , вы можете открыть его для вызова, отметив общедоступным
, например если вы превращаете консольное приложение в API.