我可以确定自己的 C# 入口点方法吗

Can I determine my own entry point method for C#

我写了一个有两个主要程序的程序method.And我用命令提示符指定了入口点。

class Program
{
    static void Main()
    {
        Console.WriteLine("Test");
    }
}
class Test
{
    static void Main()
    {
        Console.WriteLine("Test");
    }
}

csc Program.cs /main:Test

Well.Can 我用命令提示符确定入口点的方法?

例如

class Program
{
    static void NewEntry()
    {
        Console.WriteLine("Test");
    }
}

然后

csc Program.cs entry/Program::NewEntry()

这可能吗?

" 当一个程序启动时,它会寻找一个入口点。这就是Main()方法的作用。实际上,一个程序,也就是一个可执行程序,开始于Main,并停止于Main () 方法。它的工作方式是,在开始时,编译器会寻找一个名为 Main 的方法。如果没有找到,则会产生错误。如果找到,则会进入 Main() 方法“

查看此文档

http://www.functionx.com/csharp2/topics/main.htm

没有。 static Main() 是 C# 的唯一入口点,所有其他函数都应该从它调用。

有点。主入口点必须是 static Main()。但是,如果您的程序中有多个 static Main(),您可以指定使用哪个 class。

请参阅 Main Entry Point or Statup Object

上 csc/msbuild 的文档

在你的例子中,这将是 csc -main:MyProject.Program Program.cs 其中 MyProject.Program 是入口点 class 的完整命名空间和名称。 msbuild 有类似的标志。

如果您想在每次程序 运行 时动态选择一个入口点,您可能希望将该选项作为命令行参数传递给单个 Main(string[] args) 然后分支从那里开始。