【问题标题】:Display Text for Enum [duplicate]显示枚举的文本 [重复]
【发布时间】:2012-01-02 06:03:33
【问题描述】:

你好
我有以下枚举

public enum Priority : byte 
    {
        A=1,
        B+ = 2,
        B=4,
        C=8,
        D=16,
        E=32
    }

我想在枚举中添加B+,但它给了我错误

【问题讨论】:

标签: c# .net c#-4.0 enums


【解决方案1】:

您可以为枚举添加用户友好的描述,如下所示:

enum MyEnum 
{ 
    [Description("This is black")] 
    Black, 
    [Description("This is white")] 
    White 
} 

参考。链接: How to have userfriendly names for enumerations?

【讨论】:

    【解决方案2】:

    使用像 B_Plus 这样的有效标识符怎么样?

    【讨论】:

    • 下拉显示B+是业务需求
    【解决方案3】:

    是的。它给你一个错误,因为你的代码是错误的。您不能将“B+”设为枚举值,因为有一个加号。同样的原因你不能声明int B+。使用不同的名称。

    【讨论】:

      【解决方案4】:

      您将无法使用 + 作为名称标识符,因为它是一个数学运算符或字符串连接器......它不能与枚举一起使用。使用替代语法,或使用替代方法。您可以考虑一种状态设计模式:

      http://www.dofactory.com/patterns/PatternState.aspx#_self2

      【讨论】:

        猜你喜欢
        • 2018-04-14
        • 2016-09-04
        • 2017-04-21
        • 1970-01-01
        • 2012-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多