是否可以在枚举中添加带空格或特殊字符的字符串

Jib*_*oor 0 .net c# enums

HII,

是否可以在枚举中添加带空格或特殊字符的字符串

例如,我有一个像"保险KR用户(名称)"这样的字符串,我试图将此字符串包含在枚举中

public enum MemberGroup
{
    Insurance KR Users (Name)
}
Run Code Online (Sandbox Code Playgroud)

但它捕捉错误.请给我一个解决方案,将这些类型的字符串包含在枚举中.

Dan*_*ger 10

枚举成员本身必须是有效的标识符,因此它不能包含空格或特殊字符.

但您可以使用它DescriptionAttribute来提供每个枚举值的更完整描述:

public enum MemberGroup
{
    [Description("Insurance KR Users (Name)")]
    InsuranceKrUsers_Name
}
Run Code Online (Sandbox Code Playgroud)

要检索描述,请使用以下内容:

public static string GetDescription(Enum value)
{
   FieldInfo fi = value.GetType().GetField(value.ToString()); 
   DescriptionAttribute[] attributes = 
     (DescriptionAttribute[])fi.GetCustomAttributes(
     typeof(DescriptionAttribute), false);
   return (attributes.Length > 0) ? attributes[0].Description : value.ToString();
}
Run Code Online (Sandbox Code Playgroud)