2010-07-21 49 views
1

VS的ReSharper擴展建議我在下面的屬性中使用PascalCase。關於PascalCase的新手問題

public Color Color { get; private set; } 

這裏顏色是枚舉類型。我永遠不會認爲這可能是可能的,因爲它是與類型相同的名稱。但它是有效的。一般規則提出了什麼?我必須總是聽ReSharper嗎?將不勝感激良好的參考鏈接PascalCase。

+1

有一個微軟框架設計指南,上面寫着沿,_「考慮給一個屬性相同的名稱和類型。」 _所以,是的,這個建議行東西(不是爲了每個屬性,而是在哪裏有意義)。 – stakx 2010-07-21 20:52:33

+0

請注意,這是http://stackoverflow.com/questions/1095644/giving-a-property-the-same-name-as-its-class和http://stackoverflow.com/questions/1746117/爲什麼它有可能具有屬性命名爲與它們相同的返回類型1746372#1746372 – 2010-07-21 23:38:50

回答

6

這實際上稱爲顏色顏色問題,並在此處解釋;

http://blogs.msdn.com/b/ericlippert/archive/2009/07/06/color-color.aspx

是的,它應該工作,並遵循一般在命名約定規則一致的命名。當你在你的例子中顯示它時,我會放棄它。

+0

實際上,此代碼可能*引入*顏色顏色問題,但屬性本身是完全有效,因爲屬性的語法總是'accessmodifier(s)type Name' – Powerlord 2010-07-21 20:54:53

+0

我感到震驚的是,我的特定問題存在相同的命名問題。 – Freshblood 2010-07-21 20:58:17

+0

@R。 Bemrose:是的,我可能會說得更好,但我認爲OP會得到我在駕駛的東西。 – 2010-07-21 21:34:51

0

是的,這是推薦。我建議你遵循ReSharper指南,特別是如果你是編程新手。

有關CamelCase的維基百科文章,有一些實用的信息。

0

這裏突出顯示的語法使其特別令人困惑,但編譯器知道何時期待某種類型以及何時期望某個名稱,所以它沒有問題。

0

http://msdn.microsoft.com/en-us/library/ms229043.aspx

以下準則提供了標識符 一般規則。

對於所有公開的 成員,類型和名稱空間名稱 使用Pascal外殼組成多個單詞。

聽ReSharper的;)

+0

聽ReSharper這個特別的問題或一切? – Freshblood 2010-07-21 21:16:28

+0

僅限於此特定問題。 我沒有足夠的ReSharper體驗,但看起來總是正確的。 – 2010-07-21 21:28:55

+1

你不應該盲目地聽任何東西,這不僅僅是編程。 OP想知道這個建議背後的「爲什麼」,這是一件好事。 – 2010-07-21 21:35:30