私は以下のように列挙しています
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