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

时间:2016-04-14 07:32:54

标签: c# entry-point

我编写了一个程序,它有两个主要方法。我用命令提示符指定了入口点。

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

csc Program.cs / main:测试

嗯。我可以用命令提示符确定入口点方法吗?

例如

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

然后

  

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

这可能吗?

3 个答案:

答案 0 :(得分:1)

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

参见本文件

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

请参阅 Main Entry Point or Statup Object

上的 csc/msbuild 文档

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

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