如何使用'&'在枚举中创建值

pin*_*nki 2 c# regex

我需要创建一个像'DESIGN&BUILD'这样的枚举值.我正在编写一个导入器服务,并导入上面的类型.我需要将它与Db中的类型进行比较.可以让我知道是否可以创建如上所述的枚举值.而且,我认为我们也可以通过一个正则表达式来实现它,它只用于文本而不是任何符号.我的意思是我们只得到'DESIGNBUILD'.

如果你认为这是一个可能的解决方案,有人也可以帮我解决正则表达式

谢谢

Jon*_*eet 9

你不能.枚举值名称必须是有效的C#标识符,并且是排除的&.我建议你使用DescriptionAttribute或类似的东西为枚举值提供更灵活的元数据.

虽然您可以使用正则表达式来执行映射,但我相信如果您使用元数据,最终会得到更灵活的结果.然后,您可以轻松构建一个Dictionary<string, YourAttributeType>,反之亦然.

  • @ manasareddy.kundur:引入一个单点,执行文本和枚举值之间的映射.这是一个实施决定.如果你有一个*lot*的代码已经假设文本和枚举值名称之间的直接映射(例如,在任何地方使用Enum.Parse),这只是一个不幸的设计错误,你必须纠正.正则表达式方法不会使这更容易. (2认同)