Возможно ли иметь более одного метода main()
(с теми же параметрами) в консольном приложении С#? Если да, то как?
Возможно ли иметь более одного метода main() в программе С#?
Ответ 1
У вас может быть несколько основных методов, вы можете указать, какой из них использовать в качестве точки входа для приложения вашим компилятором. См. this для более подробной информации
Пример:
using System;
using System.Collections.Generic;
using System.Text;
namespace Multiple_MainClasses
{
class A
{
static void Main(string[] args)
{
Console.WriteLine("I am from Class A");
Console.ReadLine();
}
}
class B
{
static void Main(string[] args)
{
Console.WriteLine("I am from Class B");
Console.ReadLine();
}
}
}
Когда вы запустите этот код, вы получите ошибку компиляции. Чтобы разрешить переход к свойствам проекта в проводнике решений или нажмите ctrl + alt + L, перейдите на вкладку приложения и выберите "Класс" с помощью метода, который вы хотите выполнить, как показано ниже:
Ответ 2
Да - вы можете указать пользовательскую точку входа, если у вас есть несколько основных методов. csc/main содержит информацию об этом:
Этот параметр указывает класс, содержащий точку входа в программу, если более одного класса содержит метод Main.
csc MyClssesWithMain.cs /main:OneOfTheClasses
Примечание: методы Main
должны быть в отдельных классах, поскольку у вас не может быть 2 метода с одинаковой сигнатурой в одном классе.
Ответ 3
Основной метод - это ваша точка входа в ваше приложение. На основе статей, предоставленных другими, он синтаксически действителен для определения нескольких основных методов, но при запуске приложения вам нужно выбрать один основной метод. Я думаю, что имеет смысл создать одну основную функцию и сделать ее гибкой, используя аргументы командной строки и т.д.