Enum可以尝试parse方法为通用方法吗?

时间:2019-01-05 14:09:24

标签: c# generics

我使用了通用方法来解析所有这些枚举类型,但是有一个错误,我不确定如何解决。有人可以有个好主意吗?谢谢

public static T TryParseEnum<T>(string value)
{
    T t;
    bool ok = Enum.TryParse<T>(value, out t);
    return t;
}

错误

  

类型“ T”必须是不可为空的值类型,才能将其用作   通用类型或方法中的参数“ TEnum”   'Enum.TryParse(string,out TEnum)'

更新: 感谢您的帮助,我们已将其修复为新方法。

public static T TryParseEnum<T>(string value) where T : struct
{
    T t = default(T);
    bool ok = Enum.TryParse<T>(value, out t);
    return t;
}

0 个答案:

没有答案