可空枚举类型在未赋值时默认值为 null,如果在方法返回时返回了 null 值,会出现“Returning null for a nullable enum not allowed”的错误。解决方法是在返回前先判断值是否为 null,如果是则使用 Enum.TryParse 方法进行转换,示例代码如下:
public enum MyEnum { Value1, Value2 }
public MyEnum? GetEnumValue(string value)
{
if (string.IsNullOrEmpty(value))
{
return null;
}
else
{
MyEnum result;
if (Enum.TryParse(value, out result))
{
return result;
}
else
{
return null;
}
}
}
下一篇:不允许返回可空枚举类型的空值。