我试图编写一个扩展方法可为空的枚举。
就像这个例子:可扩展枚举的扩展方法
// 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
只是其中的一个例子。
http://msdn.microsoft.com/en-us/library/system.enum.aspx – Jacek
@Jacek你是什么意思? – Rawling
@Jacek:我打算写这篇文章,但是我测试了它,它出乎意料地工作。 – Jens