在Enum中使用特殊字符,例如%(C#3.0)

3 c# enums attributes naming-conventions

我有一个组合,其来源是Enum.现在,在其他值中(比如value1,value2

等)有一个项目Changes(%)将在组合中显示.

如何在枚举中定义更改(%)?

使用C#3.0

谢谢

Jon*_*eet 8

你不能.枚举值名称必须是有效的C#标识符.你不应该试图在那里放置显示名称.

相反,请考虑使用[Description]可以使用反射获取的属性来装饰每个值:

public enum ChangeType
{
    [Description("Changes (%)")]
    PercentageChanges,

    [Description("Changes (absolute)")]
    AbsoluteChanges
}
Run Code Online (Sandbox Code Playgroud)

或者,可以使用枚举值名称作为资源键来定义资源.除了其他任何目的之外,这对于i18n目的会更好,但如果您不需要将您的应用程序国际化,则会有更多工作.

编辑:这是一篇更详细的文章.