斐伊川,
是否可以在枚举
中添加带空格或特殊字符的字符串例如,我有一个字符串,如“保险KR用户(姓名)”我试图将此字符串包含在枚举中
public enum MemberGroup
{
Insurance KR Users (Name)
}
但它会发现错误。请给我一个解决方案,将这些类型的字符串包含在枚举中。
答案 0 :(得分:10)
枚举成员本身必须是valid identifier,因此不能包含空格或特殊字符。
但您可以使用DescriptionAttribute
提供每个枚举值的更完整描述:
public enum MemberGroup
{
[Description("Insurance KR Users (Name)")]
InsuranceKrUsers_Name
}
要检索说明,请使用以下内容:
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();
}
答案 1 :(得分:0)
枚举本身不能包含空格,正如彼得所说,它只能包含一组特定字符。
您可以使用枚举的Description属性来存储一些额外的信息,但这必须使用反射来检索。互联网上有很多例子如何做,但作为一个例子,here就是一个。