为什么Main不在C#中公开,在java中它给出了一个错误,如果我们没有main作为public,系统如何在C#中调用Main?
答案 0 :(得分:-1)
来自source:
如果您的方法是私有的或公开的,CLR并不介意。它 不会通过使用普通的C#代码来调用它。这是什么的 本机调用堆栈看起来如果您有兴趣:
00000000`0014ea10 00000642`7f67d4a2 0x642`80150142 00000000`0014ea90 00000642`7f5108f5 mscorwks!CallDescrWorker+0x82 00000000`0014eae0 00000642`7f522ff6 mscorwks!CallDescrWorkerWithHandler+0xe5 00000000`0014eb80 00000642`7f49a94b mscorwks!MethodDesc::CallDescr+0x306 00000000`0014edb0 00000642`7f474ae4 mscorwks!ClassLoader::RunMain+0x23f 00000000`0014f010 00000642`7f5efb1a mscorwks!Assembly::ExecuteMainMethod+0xbc 00000000`0014f300 00000642`7f467d97 mscorwks!SystemDomain::ExecuteMainMethod+0x492 00000000`0014f8d0 00000642`7f482c24 mscorwks!ExecuteEXE+0x47
顶部的地址是您的主要方法。