2016-06-27 44 views
0

例如:C#可以在名爲new的類中命名一個方法嗎?

class document 
{ 
    public void new() 
    { 
    } 
    public void save() 
    { 
    } 

} 

視覺工作室權利要求新的紅色下劃線,錯誤。 我需要的所有是小寫安排清潔

對於那些見過這個問題:* **(答案)C#命名規則衝突:單詞必須與上例可以開始!

+0

沒有保留關鍵字,因此不能將它們用於用戶定義的函數名稱 –

+0

'CreateNew'如何改爲? –

+1

這就是爲什麼微軟一直推動UpperCamelCase作爲公開曝光的方法和屬性的標準。它很乾淨,沒有機會與關鍵詞重疊。 – Peter4499

回答

5

不,你不能,因爲new是一個keywoard。但是,是的,如果接受,您可以通過@轉義關鍵字。

class document 
{ 
    public void test() 
    { 
     [email protected](); 
    } 

    public void @new() 
    { 
     Console.WriteLine(); 
    } 
} 

C#建議在類名和方法名中使用上層駱駝案例。

由於關鍵字較小,所以駝峯案例名稱(如void New())不受影響。

+2

「是的,是的,你可以,但是你真的不願意,你正在創造一種雖然可以被編譯器接受的情況,但會導致很多員工會在一天之後你要詛咒你的名字**; - )**如果你可以做到這一點,一個更好的選擇就是爲你的方法選擇一個不同的名字(比如說'initialize'和'terminate'? )如果你正在使用的語言已經對某個特定的詞語聲明瞭專有權利聲明,請遠離這個詞。*「許多未來的員工會感謝你......」* –

+0

接受的理由:C#命名規則違規:詞語必須以大寫字母開頭。 – nyconing

相關問題