我有一个组合,其来源是枚举。现在,在其他值中(比如 value1、value2
等)有一项 Changes(%)
将显示在组合中。
如何在枚举中定义 Changes(%)?
使用 C#3.0
谢谢
最佳答案
你不能。枚举值名称必须是有效的 C# 标识符。您不应该尝试在其中放置显示名称。
相反,考虑使用 [Description]
属性装饰每个值,您可以通过反射获取该属性:
public enum ChangeType
{
[Description("Changes (%)")]
PercentageChanges,
[Description("Changes (absolute)")]
AbsoluteChanges
}
或者定义资源,可能使用枚举值名称作为资源键。除了其他任何事情外,这对于 i18n 目的会更好,但如果您不需要将应用程序国际化,则会有更多工作。
编辑: Here's an article going into more detail 。