以下是我的代碼將枚舉值轉換爲字典。如何爲Enum類型參數創建擴展方法?
public static Dictionary<string, string> EnumToDictionary<T>() where T : struct, IConvertible
{
var oResult = new Dictionary<string, string>();
if (typeof(T).IsEnum)
foreach (T oItem in Enum.GetValues(typeof(T)))
oResult.Add(oItem.ToString(), oItem.ToString());
return oResult;
}
,這是我的枚舉
public enum MyEnum
{
Value1,
Value2,
value3
}
目前我打電話像
var result=EnumToDictionary<MyEnum>();
這種方法,但我需要使用的方法類似
var result=MyEnum.EnumToDictionary();
或任何其他方式像字符串擴展方法DS。
查看https://code.google.com/p/unconstrained-melody/ –
@JonSkeet這不是他要問的。他希望有一種「擴展方法」適用於枚舉類型,而不是枚舉成員。這是不可能的,也沒有真正需要這種語法。 –
@EliArbel:哦,我明白了 - 就這個類型本身而言。對,不理我。 –