以下是我的代码将枚举值转换为字典。如何为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:哦,我明白了 - 就这个类型本身而言。对,不理我。 –