2012-12-03 90 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

相關問題