枚举为通用

时间:2014-12-22 03:02:25

标签: c# generics enums

所以我需要编写一个执行查找的方法。它需要采用枚举泛型,然后将枚举值转换为字符串并将其返回

这是我到目前为止所拥有的

public static object lookupColumn<TEnum>(int? id, string defaultValue="")
        where TEnum : struct, IConvertible
{
    if (!(typeof(TEnum).IsEnum))
        throw new ArgumentException("TEnum must be of type Enum");

    if (!id.HasValue)
        return defaultValue;

    TEnum enumValue = (TEnum) id.Value; //This line doesn't compile
    return enumValue.ToString();
}

有什么建议吗?

编辑:导致我麻烦的部分是将int转换为枚举

1 个答案:

答案 0 :(得分:0)

为什么不使用Enum.Parse而不是直接演员?在要转换的值上调用ToString。