当前位置: 代码迷 >> C# >> enum枚举类型如何命名才合适
  详细解决方案

enum枚举类型如何命名才合适

热度:331   发布时间:2016-04-28 08:33:45.0
enum枚举类型怎么命名才合适
比如我有一个枚举类型,类型名称是ListStyle

public enum ListStyle{
...
}

在类Goods的一个成员变量_listStyle是ListStyle枚举类型
public class Goods{
...
public ListStyle _listStyle;
}

很多时候需要将这个成员变量封装成一个属性,属性名称通常是成员变量名称的首字母大写形式,这时候问题就来了,这个属性名称跟枚举类型名称ListStyle重名了
public ListStyle ListStyle 
{
    set { _listStyle = value; }
    get { return _listStyle; }
}

求经验
------解决思路----------------------
public enum ListStyleEnum{
...
}

那就加Enum区分
------解决思路----------------------
一般public ListStyle ListStyle 这样的属性声明没有问题。
只有ListStyle枚举和ListStyle属性定义在同一个名字空间下才会有问题,比如:

public class My
{
    public enum ListStyle {}
    public ListStyle ListStyle {get; set;}  //<---名字冲突
}



public enum ListStyle {}
public class My
{
    public ListStyle ListStyle {get; set;}  // 没有问题
}


另,sunny906朋友4楼的例子不太好。根据微软命名建议(http://msdn.microsoft.com/en-us/library/4x252001%28VS.71%29.aspx),对可组合的枚举用复数,而对普通枚举用单数。


[Flags]
enum AccessRights   // 可组合,用复数
{
    Read = 1,
    Write = 2,
    Exec = 4,
}

enum Alignment
{
    Left,
    Right,
    Center
}


  相关解决方案