为什么Main方法是私有的?

时间:2010-06-24 13:07:56

标签: c# .net syntax methods

新的控制台项目模板会创建一个Main方法,如下所示:

class Program
{
    static void Main(string[] args)
    {
    }
}

为什么Main方法和Program类都不需要公开?

4 个答案:

答案 0 :(得分:47)

程序的入口点标有.entrypoint IL指令。无论方法或类是否公开都没关系,重要的是这个指令。

答案 1 :(得分:20)

任何人都不应该调用Main方法。

它实际上被标记为EXE本身的执行入口点,因此默认情况下没有外部调用者。

如果你想要,你可以通过标记public来打开它,例如,如果您要将控制台应用程序转换为API。

答案 2 :(得分:0)

在这种情况下,Public或Private关键字没有区别,它完全取决于应用程序的使用和范围。在不同的场景中使用下面提到的关键字..

1)公共 - 如果我们想要通过任何外部程序启动入口点,那么您可能需要将其公开以便可以访问。 2)私有 - 如果我们知道应用程序没有外部使用,那么最好将其设置为私有,这样外部应用程序就无法访问它。

答案 3 :(得分:-1)

是的。您可以将main()方法标记为公共,私有或受保护。如果要通过任何外部程序启动入口点,则可能需要将其公开,以便可以访问它。如果您知道应用程序没有外部使用方法,则可以将其标记为私有,那么最好将其设置为私有,以便没有外部应用程序可以访问它。

public class MainMethod
{
    private  static void Main(string[] args)
    {
        Console.WriteLine("Hello World !!");
    }
}