2010-12-10 43 views
0

在以下人爲設計的C#代碼中,我不喜歡枚舉名稱與屬性名稱相同。如何命名枚舉與屬性

public enum CollarType 
{ 
    Classic, 
    VNeck 
} 

public class Shirt 
{ 
    public CollarType CollarType { get ... } 
} 

在舊時代,當越來越多的人使用匈牙利/其他奇怪的命名一樣class CShirt,這種衝突沒有發生。但今天我不斷遇到它。

你如何處理這種情況?你是否認同這麼多事物具有相同的名稱,或者你有更好的命名方案?

+1

重複:http://stackoverflow.com/questions/495051/c-naming-convention-for-enum-and-matching-property – wj32 2010-12-10 10:49:30

+1

這編譯得很好,它是在.NET框架中的常見模式。你不喜歡它什麼? – 2010-12-10 10:56:16

回答

1

使枚舉名稱與屬性名稱相同的唯一限制是您無法將枚舉定義爲具有該屬性的類的嵌套類型。

E.g.這樣做工作:

public class Shirt 
{ 
    public enum CollarType 
    { 
     Classic, 
     VNeck 
    } 

    public CollarType CollarType { get ... } 
} 

然而,從積極的一面,它使代碼更易讀恕我直言,因爲它清楚地<顯示枚舉值和資源之間的關聯:

myShirt.CollarType = CollarType.Classic; 
+0

+1顯示一個例子 – Tony 2010-12-10 22:42:07

+0

順便說一句,這正是提示這個問題的情況。 – tenfour 2010-12-22 01:03:07

1

BCL中的約定只是與它一起運行。除nested enums之外,它不會導致任何含糊之處。

1

是的,擁有與其類型名稱相同的屬性是絕對正常的。