Как я могу использовать перечисление DayOfWeek для пометки циклов процесса? - PullRequest
0 голосов
/ 07 декабря 2010

В app.config я предоставляю строковое значение цикл : «Понедельник», «Вторник», ..., «Ежедневно»Из этого значения я хотел присвоить перечисление <Flags()>.Простое использование DayOfWeek не дает мне возможности помечать процесс как ежедневную рутину.Есть ли доступный класс .Net, который предоставляет день недели в качестве флага?

Тем временем я придумал следующее:

<Flags()> _
Public Enum enumExportCycle As Integer
    Monday = DayOfWeek.Monday
    Tuesday = DayOfWeek.Tuesday
    Wednesday = DayOfWeek.Wednesday + 1
    Thursday = DayOfWeek.Thursday + 4
    Friday = DayOfWeek.Friday + 11
    Saturday = DayOfWeek.Saturday + 26
    Sunday = DayOfWeek.Sunday + 64
    Daily = Monday Or Tuesday Or Wednesday Or Thursday Or Friday Or Saturday Or Sunday
End Enum

Это выглядит несколько странно, и я ищу лучший путь.

Ответы [ 2 ]

5 голосов
/ 07 декабря 2010

Вот ссылка на перечисление DaysOfWeek (используется для установки повторений) для PocketOutlook в Windows Mobile: http://msdn.microsoft.com/en-us/library/microsoft.windowsmobile.pocketoutlook.daysofweek.aspx

Он определяет перечисление следующим образом:определите аналогичное перечисление с дополнительным для Daily (и, возможно, для каждого рабочего дня и каждого выходного дня:

[Flags] 
public enum DaysOfWeek
{
  Sunday = 1,
  Monday = 2,
  Tuesday = 4,
  Wednesday = 8,
  Thursday = 16,
  Friday = 32,
  Saturday = 64,
  Daily = Sunday + Monday + Tuesday + Wednesday + Thursday + Friday + Saturday,
  Weekdays = Monday + Tuesday + Wednesday + Thursday + Friday,
  Weekends = Sunday + Saturday
}
4 голосов
/ 07 декабря 2010

это будет работать, верно?

<Flags()> _
Public Enum enumExportCycle As Integer
    Monday = 1
    Tuesday = 2
    Wednesday = 4
    Thursday = 8
    Friday = 16
    Saturday = 32
    Sunday = 64
    Daily = Monday Or Tuesday Or Wednesday Or Thursday Or Friday Or Saturday Or Sunday
End Enum

или это

<Flags()> _
Public Enum enumExportCycle As Integer
    Monday = 2 ^ DayOfWeek.Monday
    Tuesday = 2 ^ DayOfWeek.Tuesday
    Wednesday = 2 ^ DayOfWeek.Wednesday
    Thursday = 2 ^ DayOfWeek.Thursday
    Friday = 2 ^ DayOfWeek.Friday
    Saturday = 2 ^ DayOfWeek.Saturday
    Sunday = 2 ^ DayOfWeek.Sunday
    Daily = Monday Or Tuesday Or Wednesday Or Thursday Or Friday Or Saturday Or Sunday
End Enum

, поскольку DayOfWeek начинается с 0 (воскресенье) до 6 (суббота)

...