2012-12-07 16 views
3

我不知道沒有訪問標識符的方法是什麼。在這個代碼塊中,我指的是void updateNumTo5方法。如果您不使用訪問標識符,那麼調用的方法是什麼?

private int num = 0; 

#region public methods 
public int Get7() 
{ 
    return 7; 
} 
#endregion 

#region private methods 
private int get6() 
{ 
    return 6; 
} 
#endregion 

#region Unknown name 
void updateNumTo5() 
{ 
    num = 5; 
} 
#endregion 

回答

12

方法的默認訪問修飾符(不是標識符)是private。所以這個:

private void Foo() 
{ 
} 

相當於

void Foo() 
{ 
} 

一般的規則是,默認的訪問修飾符始終是最受限制的,你可以將它指定爲。例如,默認情況下,非嵌套類型爲internal,而嵌套類型默認爲private

+0

它是如此無視其他條件(課堂公開或不是什麼)?爲什麼我一輩子都在我的方法面前寫*私人*? –

+0

@KonradViltersten:對,所有方法都是一樣的。我過去寧願將它留給默認設置,但現在我明確地做出一切。 –

+4

@KonradViltersten我會*高度*建議您不要在這裏使用默認值,而是明確列出訪問修飾符。 1)各種語言的默認值有所不同。開始在開發C#和java之間切換,當你真的是'package'或類似的東西時,你可以自己想一些私有的東西2)它使代碼更易於閱讀;讀者不需要默認記住3)讀者可能認爲你沒有故意忽略它,而是認爲它是一個你忘記它的bug;他們可能會放置除默認值之外的東西並因此破壞代碼。 – Servy

相關問題