我创建了一个方法,它接收一个枚举类型并将其转换为一个字典,其中每个整数都与该枚举的名称(以字符串形式)相关联。
// Define like this
public static Dictionary<int, string> getDictionaryFromEnum<T>()
{
List<T> commandList = Enum.GetValues(typeof(T)).Cast<T>().ToList();
Dictionary<int, string> finalList = new Dictionary<int, string>();
foreach (T command in commandList)
{
finalList.Add((int)(object)command, command.ToString());
}
return finalList;
}
(注:是的,我有一个双重类型转换,但该应用程序旨在成为一种非常简单粗暴的C#枚举到Javascript枚举转换器。)
这样很容易使用:
private enum _myEnum1 { one = 1001, two = 1002 };
private enum _myEnum2 { one = 2001, two = 2002 };
// ...
var a = getDictionaryFromEnum<_myEnum1>();
var b = getDictionaryFromEnum<_myEnum2>();
现在,我想知道是否可以创建一系列枚举列表来用于迭代我的调用。
这是原始问题中的内容:[为什么我不能调用它?]
我应该怎么做才能创建像这样的调用?
List<Type> enumsToConvertList = new List<Type>();
enumsToConvertList.Add(typeof(_myEnum1));
enumsToConvertList.Add(typeof(_myEnum2));
// this'll be a loop
var a = getDictionaryFromEnum<enumsToConvertList.ElementAt(0)>();
System.Type
不同。 - antonijna
的类型是什么? - svick