Я работаю над первым учебником по learncs.org и задаюсь вопросом.
Вот код из примера:
using System;
public class Hello
{
public static void Main()
{
System.Console.WriteLine("Goodbye, World!");
}
}
Это возвращает Goodbye, World в консоли, как показано. Но как только я сменил открытый класс Hello
на Hello2
он больше не работает. Учебник не показывает, как он выполняется, поэтому я не знаю, как это делается.
Кто-нибудь знает, как я могу выполнить его, если я назову его Hello2? Я попробовал это, и это не совсем сработало:
using Hello2.Main();
Вот пример: Hello, World!
Время выполнения вызывает функцию Main
. Обычно он просто находит первую функцию Main
в вашей программе и выполняет ее.
Однако, если вы явно задали объект запуска на вкладке "Приложение" параметров проекта, он будет терпеть неудачу, если этот класс не имеет функции Main
(или если этот класс не существует).
Попробуйте установить его на "(Не задано)" или ваш новый класс, и он должен работать.
Вы должны установить объект Startup для своего приложения. Щелкните правой кнопкой мыши на Project, перейдите к свойствам проекта → Приложение, измените объект Startup на Hello2
.
Помните, что он должен работать до тех пор, пока у вас есть одна точка входа в приложение, то есть public static Main
метод public static Main
и у вас есть объект Startup, указанный как (Not Set)
.
Но если у вас есть несколько классов с методом Main
, то вам нужно явно указать объект Startup (либо через GUI, либо с параметрами компиляции), либо вы получите ошибку:
Application.exe имеет более чем одну точку входа: "Application.Hello2.Main()". Скомпилируйте с /main, чтобы указать тип, содержащий точку входа.
main
.
Program
, но если я изменю его наProgram2
он все равно будет работать для меня.