为了举例说明,假设我正在尝试解析一个文件,该文件指定记录中的两个任意字节表示一周中的某一天,如下:
DayOfWeek:
- 0 = Monday
- 1 = Tuesday
- 2 = Wednesday
- 3 = Thursday
- 4 = Friday
- 5 = Saturday
- 6 = Sunday
- 7-15 = Reserved for Future Use
我可以定义一个枚举来映射到该字段,如下:
public enum DaysOfWeek
{
Monday = 0,
Tuesday = 1,
Wednesday = 2,
Thursday = 3,
Friday = 4,
Saturday = 5,
Sunday = 6
ReservedForFutureUse
}
但是我如何定义 ReservedForFutureUse
的有效值?理想情况下,我想做的事情类似于:
public enum DaysOfWeek
{
Monday = 0,
Tuesday = 1,
Wednesday = 2,
Thursday = 3,
Friday = 4,
Saturday = 5,
Sunday = 6
ReservedForFutureUse = {7,8,9,10,11,12,13,14,15}
}
如果领域更加复杂,这个问题会变得更加严重;例如,假设在此情况下7和8都映射到相同的错误情况或其他情况。如何在C#枚举中捕获这个要求?