Метод расширения для нулевого перечисленияC#

Место общения программистов C#
Anonymous
Метод расширения для нулевого перечисления

Сообщение Anonymous »

Я пытаюсь написать метод расширения для перечислений, допускающих значение 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


Почему? Перечисление не может иметь нулевое значение!

Обновление:

Если перечислений много, ItemType — это всего лишь пример одного из них.


Подробнее здесь: https://stackoverflow.com/questions/129 ... lable-enum

Вернуться в «C#»