2012-12-03 44 views
2

我在阅读微软的C#指南,感觉非常困惑。C#static void Main不应该公开吗?

http://msdn.microsoft.com/en-us/library/acy3edy3(v=vs.100).aspx

在这个页面上,声明说,主要不应该公开?

Main在类或结构中声明。主要是静态的,不应该公开。 (在前面的例子中,它接收到private的默认访问。)封闭类或结构不需要是静态的。

我感到很困惑,因为我可以编译和

公共静态无效的主要

运行,在我的理解一般在C++,Java中,主要可以是公开的。
MSDN文章是否有错字?

+1

“应该”只是意味着它是一个指导原则。这里有一些推理原因:http://stackoverflow.com/questions/3110184/why-is-main-method-private –

+0

奇怪,这是他们的准则,但他们的IDE默认忽略它。 – Rawling

+0

@ 0xA3那是正确的。主应该永远不会被用户调用,因此将它作为封装或“隐藏”尽可能是一个好主意 – flai

回答

1

我感到很迷惑,因为我可以编译和

它的指导方针不是规则运行,因此编译器无关,用它做。

+0

我同意这只是一个指导,是否只是为了防止用户调用Main函数以后? – AlexH

+0

@AlexH,YES,将其公开将使该方法可在组件外部访问。 – Habib

+3

@AlexH,这是一个很好的讨论。 http://social.msdn.microsoft.com/Forums/en-CA/csharpgeneral/thread/9184c55b-4629-4fbf-ad77-2e96eadc4d62 – Habib

相关问题