我试图创建一个我可以调用的方法,它将 Dictionary<int,string>
从枚举中返回一个类型的字典。
我想使用泛型。
到目前为止,这是我的代码...
public class Enums
{
public static Dictionary<int, string> GetEnumDictionary<T>()
{
return Enum.GetValues(typeof(T)))
.Cast<typeof(T)>()
.ToDictionary(t => (int)t, t => t.ToString());
}
/// <summary>
/// Fuel Type Enum
/// </summary>
public enum FuelTypes
{
Petrol = 1,
Diesel = 2,
Hybrid = 3,
Electric = 4
}
}
单元测试...
[TestClass]
public class EnumTests
{
[TestMethod]
public void TestGetEnumDictionary()
{
Dictionary<int, string> dict = new Dictionary<int, string>();
dict = Enums.GetEnumDictionary<Enums.FuelTypes>();
Assert.IsTrue(dict != null);
}
}
我得到的编译错误是
运算符“<”不能应用于“方法组”和“System.Type”类型的操作数
谁能看到我的错误在哪里?