У меня есть значение перечисления, которое представляет диапазон недельных дней (например, воскресенье до пятницы), которые я представляю пользователю в дружественном имени.это глянцевый, чтобы указать значение enum dayofweek
Я попытался дать ему значение
(SunTilTHur = DayOfWeek.Sunday + DayOfWeek.Monday + DayOfWeek.Tuesday)
, но я получаю ошибку
Оператор переключатель содержит несколько случаев со значением этикеточной
Код I проверено:
public MyDayOfWeek Days { get; set; }
public string DaysFriendlyName => this.Days.ToFriendlyName();`
public enum MyDayOfWeek
{
Sunday = DayOfWeek.Sunday,
Monday = DayOfWeek.Monday,
// ..
SunTilFir = DayOfWeek.Sunday + DayOfWeek.Monday + DayOfWeek.Tuesday,//+...
public static string ToFriendlyName(this MyDayOfWeek days)
{
switch (days)
{
case MyDayOfWeek.SunTilFir:
return @Resources.FormResources.SunTilFri;
Можно ли установить эти значения и как? Заранее спасибо.
Вы должны взглянуть на атрибут [Флаг] (http://stackoverflow.com/questions/8447/what-does-the-flags-enum-attribute-mean-in-c). – krillgar
Вам нужно будет сделать свой enum независимым от 'DayOfWeek', поскольку последний использует инкрементные значения, которые не будут использоваться для перечислений флагов. – poke
@krillgar, если я правильно понимаю, использование флага не заставит систему получить значение (E.G. Tuesday) в запросе. Просто строка. –