Фактическая требуемая точка входа:
static void Main(string[] args); // note capitalization and arguments
Причина, по которой Main
должна быть статичной, заключается в том, что нестатические объекты должны быть сконструированы, прежде чем вы вызовете на них какие-либо методы. Поскольку Main
является точкой входа в программу, кто будет называть ее конструктором?
(Да, вы могли бы иметь CLR, чтобы класс с Main
содержал конструктор без параметров без параметров и CLR вызывает этот конструктор во время глобального запуска. Но это дополнительная работа, и на практике проще просто потребовать, чтобы Main
был статичным.)