我正在寻找一个将枚举转换为字典列表的函数。枚举名称也将被转换为更易于阅读的形式。我只想调用函数,提供枚举类型,然后取回字典。我相信我快到了我似乎无法弄清楚如何将枚举转换为正确的类型。(在“returnList.Add”行上出现错误)。现在我只是使用 var 作为类型,但是我知道类型,因为它是传入的。
internal static Dictionary<int,string> GetEnumList(Type e)
{
List<string> exclusionList =
new List<string> {"exclude"};
Dictionary<int,string> returnList = new Dictionary<int, string>();
foreach (var en in Enum.GetValues(e))
{
// split if necessary
string[] textArray = en.ToString().Split('_');
for (int i=0; i< textArray.Length; i++)
{
// if not in the exclusion list
if (!exclusionList
.Any(x => x.Equals(textArray[i],
StringComparison.OrdinalIgnoreCase)))
{
textArray[i] = Thread.CurrentThread.CurrentCulture.TextInfo
.ToTitleCase(textArray[i].ToLower());
}
}
returnList.Add((int)en, String.Join(" ", textArray));
}
return returnList;
}