我正在尝试为可空枚举编写扩展方法。
就像这个例子:
// ItemType is an enum
ItemType? item;
...
item.GetDescription();
所以我写了这个方法,由于某种我不明白的原因无法编译:
public static string GetDescription(this Enum? theEnum)
{
if (theEnum == null)
return string.Empty;
return GetDescriptionAttribute(theEnum);
}
我收到以下错误Enum?
:
只有不可为空的值类型可以是 system.nullable 的基础
为什么?枚举不能有值null
!
更新:
如果有很多枚举,ItemType
这只是其中一个示例。