我有一个枚举如下
private enum gettype
{
Xml/adf = 1,
xml/adf and html = 2
};
但据我所知,我知道我们不能在两者之间声明特殊字符空格。我什至尝试了“显示”和“描述”,但没有用。任何人都知道任何解决方法。
你不能。枚举成员必须是有效的 C# 标识符。但是,您可以使用各种属性来装饰它们:
using System.ComponentModel;
private enum gettype
{
[Description("Xml/adf")]
XmlAdf = 1,
[Description("Xml/adf and html")]
XmlAdfAndHtml = 2
}
现在要将枚举值转换为描述字符串,反之亦然,您必须以一种或其他方式使用反射。例如:
var enumValue = gettype.XmlAdfAndHtml;
var attr = (DescriptionAttribute[])
typeof(gettype).GetField(enumValue.ToString())
.GetCustomAttributes(typeof(DescriptionAttribute), true);
var stringValue = attr[0].Description; // Xml/adf and html