即時嘗試創建一個方法,我可以調用哪個將返回一個從Enum類型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);
}
}
的compliation錯誤即時得到是
操作 '<' 不能應用於「方法組」和「System.Type」類型的操作數
任何人都可以看到我的錯誤在哪裏?
它看起來像你沒有發佈你的實際代碼。錯誤消息是關於'GetEnumDictionary(Type)'方法,您沒有發佈。 – svick 2013-02-23 11:22:51
即在頂部 - >公共靜態字典 GetEnumDictionary () –
JGilmartin
2013-02-23 11:23:29
這是一種不同的方法。該錯誤消息討論類似'public static Dictionary GetEnumDictionary(Type type)'或類似的東西。 –
svick
2013-02-23 11:24:24