null 許容列挙型の拡張メソッドを作成しようとしています。
この例のように:
// 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 非許容値型のみです。
なんで?列挙型に値を指定することはできませんnull
!
アップデート:
多くの列挙型がある場合はItemType
、それらの 1 つの例にすぎません。