Tôi đang cố gắng viết một phương thức mở rộng cho các Enums vô hiệu.
Giống như với ví dụ này:Phương pháp mở rộng cho nullable enum
// ItemType is an enum
ItemType? item;
...
item.GetDescription();
Vì vậy, tôi đã viết phương pháp này mà không biên dịch đối với một số lý do mà tôi không hiểu:
public static string GetDescription(this Enum? theEnum)
{
if (theEnum == null)
return string.Empty;
return GetDescriptionAttribute(theEnum);
}
Tôi nhận được lỗi sau trên Enum?
:
chỉ loại giá trị không thể rỗng mới có thể nằm trong hệ thống.nullable
Tại sao? Enum không thể có giá trị null
!
Cập nhật:
Nếu có rất nhiều sự đếm, ItemType
chỉ là một ví dụ về một trong số họ.
http://msdn.microsoft.com/en-us/library/system.enum.aspx – Jacek
@Jacek Ý của bạn là gì? – Rawling
@ Jacek: Tôi sẽ viết điều đó, nhưng tôi đã thử nghiệm nó và nó thật đáng ngạc nhiên, hoạt động. – Jens