新的控制台项目模板会创建一个Main方法,如下所示:
class Program
{
static void Main(string[] args)
{
}
}
为什么Main
方法和Program
类都不需要公开?
答案 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 !!");
}
}