相关疑难解决方法(0)

C#7.3枚举约束:为什么我不能使用可空的枚举?

既然我们有枚举约束,为什么编译器不允许我编写这段代码?

public static TResult? ToEnum<TResult>(this String value, TResult? defaultValue)
    where TResult : Enum
{
    return String.IsNullOrEmpty(value) ? defaultValue : (TResult?)Enum.Parse(typeof(TResult), value);
}
Run Code Online (Sandbox Code Playgroud)

编译器说:

错误CS0453类型'TResult'必须是非可空值类型才能在泛型类型或方法'Nullable'中将其用作参数'T'

c# enums roslyn c#-7.3

40
推荐指数
2
解决办法
3894
查看次数

标签 统计

c# ×1

c#-7.3 ×1

enums ×1

roslyn ×1