Новый шаблон проекта консоли создает метод Main следующим образом:
class Program
{
static void Main(string[] args)
{
}
}
Почему не нужно, чтобы ни метод Main
, ни класс Program
не публиковались?
Новый шаблон проекта консоли создает метод Main следующим образом:
class Program
{
static void Main(string[] args)
{
}
}
Почему не нужно, чтобы ни метод Main
, ни класс Program
не публиковались?
Точка входа программы отмечена директивой IL .entrypoint
. Не имеет значения, является ли метод или класс общедоступным или нет, все, что имеет значение, является этой директивой.
Метод Main
не должен вызываться кем-либо.
Он фактически помечен как точка входа для выполнения в самом EXE и, следовательно, по умолчанию не имеет внешних вызывающих абонентов.
Если вы ХОТИТЕ, вы можете открыть его для вызова путем маркировки public
, например. если вы превращаете консольное приложение в API.
Открытое или закрытое ключевое слово не имеет значения в этом случае, оно полностью зависит от использования и объема приложения. Используйте нижеуказанные ключевые слова в разных сценариях.
1) Public. Если мы хотим инициировать точку входа любой внешней программой, вам может потребоваться сделать ее общедоступной, чтобы она была доступна. 2) Private. Если мы знаем, что для приложения нет внешнего использования, тогда лучше сделать его приватным, поэтому внешнее приложение не сможет его получить.
Да. Вы можете пометить метод main()
как открытый, закрытый или защищенный. Если вы хотите инициировать точку входа какой-либо внешней программой, вам может потребоваться сделать ее общедоступной, чтобы она была доступна. Вы можете пометить его как частный, если вы знаете, что приложение не используется извне, тогда лучше сделать его закрытым, чтобы к нему не обращались внешние приложения.
public class MainMethod
{
private static void Main(string[] args)
{
Console.WriteLine("Hello World !!");
}
}