C#Main()方法的默认访问修饰符

q09*_*987 8 c#

我在vs2010中创建了一个示例类.

通过Class View,我看到Main的默认访问修饰符是internal.

我也看到有些人说Main的默认访问修饰符是"隐式私有".

Visual Studio 2010自动将程序的Main()方法定义为隐式私有.这样做可确保其他应用程序无法直接调用另一个应用程序的入口点.

我知道内部和私人之间存在差异.哪一个是正确的?

Jon*_*eet 18

如果您的代码如下所示:

static void Main()
Run Code Online (Sandbox Code Playgroud)

那是一个私人方法.(该static部分与可访问性正交,但必须是一个入口点.)通常,任何成员的默认可访问性是您可以声明它的最私密的可访问性.因此,对于类或结构中的方法,这是私有的.对于顶级(非嵌套)类型,它是内部的.对于在类/结构中声明的任何成员,它是私有的1.对于接口和枚举成员,它是公开的.

很难通过类视图确切地了解您所看到的内容而没有看到您的代码或类视图的屏幕截图,但方法的默认可访问性肯定是私有的.无论是否是Main方法,都是如此.


1明确的接口实现在这里有点奇怪,因为它既不是私有的也不是公共的; 它只是通过接口无法通过类型访问.