多种主要方法有什么用?

时间:2011-01-16 09:35:23

标签: c#

c#使我们能够使用该方法定义多个类。主方法是程序执行的入口点。那么为什么我们希望有多个程序执行的地方。与主要方法相比,多种主要方法的优点是什么。

编辑:

Example.cs

Class Example_1
{
 public static void Main()
  {
   System.Console.WriteLine("Example 1")
  }

 public void test()
  {
   System.Console.WriteLine("Test method")
  }
}

Class Example_2
{
 public static void Main()
  {
   System.Console.WriteLine("Example 2")
  }
}

如果我输入“csc Example.cs”那么会发生什么? 如果我想在类Example_2中继承Class Example_1的测试方法该怎么办。这段代码是否有效。

Example_1 abc = new Example_1();
abc.test();

7 个答案:

答案 0 :(得分:14)

您可以使用它,以便不同的构建配置构建相同的可执行文件但具有不同的入口点 - 例如控制台入口点与WinForms入口点。

我个人在演讲时和深度C#的示例代码中使用它。每个文件都是一个独立的示例,但只有一个入口点更简单 - 因此入口点使用实用程序类来提示用户他们想要运行哪个示例。

答案 1 :(得分:5)

首先,如果您有多个主要方法,则可以指定编译器将哪个方法用作应用程序的入口点。

多种主要方法可用于测试目的。也许你正在开发像文本编辑器这样的Windows应用程序。例如,如果您正在处理类似语法高亮的事情,则可以使用额外的main方法启动GUI,加载测试文件并启用相应的语法突出显示。 另一个例子可以是一个应用程序,它将被编译为仅供控制台使用,或者作为一个涉及两个不同类和主要方法的Windows应用程序。

答案 2 :(得分:1)

C#程序中只能有一个入口点。如果您有多个具有Main方法的类,则必须使用/ main编译器选项编译程序,以指定要用作入口点的Main方法。

编译t2.cs和t3.cs,指定将在Test2中找到Main方法,

csc t2.cs t3.cs / main:Test2

答案 3 :(得分:0)

您可以在不同的类中使用多个名为Main()的方法。但是只有其中一个用于启动程序。这只是常规方法,您可以使用其他主菜,无论您想要什么。 (但不建议这样做。)

答案 4 :(得分:0)

这可能是罕见的,但我想如果你必须链接到一些具有Main()方法的外部代码,那么你想告诉编译器使用你的。

答案 5 :(得分:0)

为什么不能使用Main方法创建多个类?毕竟,Main只是方法的名称。如果你创建一个类,那么在其中定义一个名为Main的方法是完全可以的。

答案 6 :(得分:0)

使用Visual Studio CMD提示时

然后尝试执行如下:

csc filename.cs /main:classname

其中filename是存储代码的文件的名称,classname是包含Main的类的名称,我们希望将其作为入口点。

与给定程序一样,有两个A和B类,其中每个都包含A Main Method。我们可以写为

csc filename.cs / main:A [用于A类主要执行]或,

csc filename.cs / main:B [用于B类主要执行]