[英]Can there be multiple Main methods with different declarations in same class in c#
我们知道Main方法是程序的入口点,如果我们指定方法的编译器StartupObject ,我们可以在不同的类中使用多个 Main 方法。 如果我们在同一个 class 中使用不同声明的多个 Main 方法会怎样? 我们可以在方法级别指定编译器吗?
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Test");
}
static void Main()
{
Console.WriteLine("Test 1");
}
}
}
更新:output 是一个错误 CS0017 程序定义了多个入口点。 我的主要疑问是我们是否可以在方法级别指定 StartupObject 或是否存在任何其他属性来执行此操作。?
谢谢
您可以定义多个类型,每个类型都有一个Main
方法,并且您可以使用编译标志/main
指定将哪些类型视为入口点。
据我所知,您不能在一种类型中有两个不同的重载Main
方法并告诉编译器使用哪种方法。 如果目标是让一个Main
接受输入 arguments 和一个无参数,则一种解决方法可能是使用params
关键字有效地使参数可选。
class Program
{
static void Main(params string[] args)
{
if (args.Length > 0)
{
Console.WriteLine("Test");
}
else
{
Console.WriteLine("Test 1");
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.