【发布时间】:2013-02-23 23:56:41
【问题描述】:
我正在尝试创建一个我可以调用的方法,它将从枚举中返回一个 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);
}
}
我得到的编译错误是
运算符“
谁能看到我的错误在哪里?
【问题讨论】:
-
看起来你没有发布你的实际代码。错误消息是关于
GetEnumDictionary(Type)方法的,您没有发布。 -
位于顶部 -> public static Dictionary
GetEnumDictionary () -
那是另一种方法。错误消息涉及
public static Dictionary<int, string> GetEnumDictionary(Type type)或类似内容。 -
是的,你的权利,我现在正在更新......