默认情况下,类中每个成员的类型修饰符都是私有的,即使Main()函数类型修饰符是私有的。 CLR如何调用外部世界不可见的主要方法?
答案 0 :(得分:7)
CLR并不关心main
的可访问性。 “对外界可见”仅适用于代码,而不适用于运行时。
答案 1 :(得分:3)
<击> 那不是真的。
必须公开。对于例如public static void Main()
。
击>
编辑:这是我发现的&amp; 学习今天,为什么Main
不必是public
。
http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/9184c55b-4629-4fbf-ad77-2e96eadc4d62/
答案 2 :(得分:3)
尝试在代码中使用 ildasm 并留意主要方法
.method private hidebysig static void Main(string[] args) cil managed
{
.entrypoint // this is something the CLR is interested in
答案 3 :(得分:1)
你是对的,
它被标记为入口点。请检查此问题:Why is Main method private?