2013-02-06 46 views
7

公共據MSDNVB.NET類成員默認

公開是當你 不需要限制對它的訪問編程元素的正常水平。請注意,如果您不另外聲明,則在接口,模塊,類或結構 中聲明的 元素的訪問級別默認爲公共。

所以,如果我宣佈在VB.NET類方法不指定訪問修飾符,那麼它是公共默認:

Sub DoSomething() 

End Sub 

這是瘋了!我希望會員在默認情況下是私密的,只有那些明確標記爲「公開」才能在課堂外可見的成員。像在C#中一樣...我如何修改這個行爲?

+6

爲什麼輸入「私人」過於繁瑣? –

+13

就我個人而言,我認爲隱式訪問修飾符作爲一個整體是一個壞主意。如果您始終明確包含訪問修飾符,則其他讀者的代碼將更加清晰。 –

+0

@MitchWheat - 所需的編程理念:語言默認值應該是「保守的」;不適合用於暴露無意暴露的東西。要求程序員做一些事情,他們不應該這樣做,這是一種次優的解決方案。這就是我們擁有電腦的原因:讓人們更輕鬆。當然,可以在IDE級別解決這個問題:除非指定了修飾符,否則IDE會自動添加「Private」。 – ToolmakerSteve

回答

10

這是瘋了!我希望會員在默認情況下是私密的

由於Fredrik已經評論過,您應該始終提供明確的訪問修飾符。

如果您始終在 中明確包含訪問修飾符,則其他讀者的代碼將更加清晰。

我認爲這是由於向下兼容性或開發人員根本不熟悉訪問修飾符。

但是你是對的,就像在C#中,我會建議儘可能使所有內容儘可能隱私。您可以在需要時更公開。

Declaration Contexts and Default Access Levels (VB.NET)

任何想法如何修改此行爲?

我不認爲有可能在Visual Studio的某處指定默認訪問修飾符。你可以嘗試建立其在這裏提出了一個模板類(未測試):

Visual C# 2010 Express: Specify default access modifier for new classes?