代码之家  ›  专栏  ›  技术社区  ›  HotTester

如何给出有空间的枚举值

  •  1
  • HotTester  · 技术社区  · 16 年前

    我必须创建一个包含有空格的值的枚举

    public enum MyEnum
            {
                My cart,
                Selected items,
                Bill            
            }
    

    这是一个错误。使用连接词,如 MyCart 或者使用下划线 My_Cart 这不是一种选择。请引导。

    提前谢谢。

    5 回复  |  直到 16 年前
        1
  •  4
  •   Adriaan Stander    16 年前

    enum (C# Reference)

    枚举数不能包含白色 以其名称命名的空格。

        2
  •  2
  •   Fadrian Sudaman    16 年前

    你需要它做什么?如果只是出于显示目的而需要它,则可以使用下划线并为枚举编写扩展方法,这样就可以通过这样做来请求显示文本(假设ext方法是call DisplayText)。在内部,您只需实现DisplayText方法,用空格替换“\u1”

    MyEnum.My_Cart.DisplayText();   // which return "My Cart"
    
        3
  •  1
  •   Will    16 年前

    根据C#规范,“枚举数的名称中不能包含空格。” (见 http://msdn.microsoft.com/en-us/library/sbbt4032.aspx ) 你为什么需要这个?

        4
  •  1
  •   Jishnu KM    10 年前

    枚举在C#中不能有空格!”你说。这是路 System.ComponentModel.DescriptionAttribute添加更友好的 枚举值的说明。示例枚举可以重写为

    public enum DispatchTypes
        {
            Inspection = 1,
            LocalSale = 2,[Description("Local Sale")]
            ReProcessing=3,[Description("Re-Processing")]
            Shipment=4,
            Transfer=5
        }
    

        5
  •  -2
  •   hp.    16 年前

    如果您遵循惯例,我同意使用DisplayText。但是,如果需要不同的显示值来表示枚举常量,则可以让构造函数传递该值。

    { 选定项目(“所有选定项目”), 汇票(“付款”);

    private String displayValue; 
    private MyEnum(String displayValue) {
    

    }
    公共字符串displayText(){ 返回此.displayValue;

    }

    推荐文章