2010-05-21 43 views
24

如果我有一個方法沒有指定它的輔助功能級別,默認情況下它是私有的嗎?的默認方法是私有的嗎?

void Item_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) 
{ 
    throw new NotImplementedException(); 
}   

上述方法是否私密?

+0

@Cloud - 但你沒有得到任何聲望點;) – MPritchard 2010-05-21 12:10:04

+0

@Cloud - 我想要一個更科學的答案。當VS自動生成一個方法存根時,它會創建具有私有可訪問性的方法 - 而不是沒有任何可訪問性關鍵字。 – 2010-05-21 12:15:10

+1

它根據Julien Lebosquain在他的回答中解釋的相同規則來做到這一點。你可以將它看作是一種'比對不起'更安全的方式來生成。沒有可訪問性和編譯錯誤(在將來)會更好,而不是太多的可訪問性你不知道。 :)另外,這種行爲可能還有與性能相關的原因。 – pyrocumulus 2010-05-21 12:27:24

回答

44

它是。如果你不定義任何修改的一般規則是「用於此處可以應用於最受限制的修改」,所以私立方法,內部爲頂級類等

+4

這是一個很好的規則。我可以習慣這個C#的東西... – kdbanman 2015-07-07 05:01:21

8

是的,它是私人的。

3

對於一個類中的方法,默認是私人的。它根據聲明的範圍而有所不同,這裏是一個MSDN link更具體的