RecurrenceRule

RecurrenceRule class

Представляет одно правило повторения или исключения в шаблоне повторения.

public class RecurrenceRule

Конструкторы

ИмяОписание
RecurrenceRule()Инициализирует новый экземплярRecurrenceRule класс.

Характеристики

ИмяОписание
ByDay { get; }Получает по дням.
ByHour { get; }Получает по часам.
ByMinute { get; }Получает по минутам.
ByMonth { get; }Получает по месяцам.
ByMonthDay { get; }Получает день месяца.
BySecond { get; }Получает посекундно.
BySetPos { get; }Получает по заданной позиции
ByWeekNo { get; }Получает номер недели.
ByYearDay { get; }Получает день по году.
Count { get; set; }Получает или задает количество.
EndType { get; set; }Получает или задает тип окончания.
Frequency { get; set; }Получает или задает тип правила повторения.
FriendlyText { get; }Получает удобный текст правила.
Interval { get; set; }Получает или задает интервал.
Until { get; set; }Получает или задает значение until.
WeekStart { get; set; }Получает или задает начальный день недели.

Примечания

Соответствует части RRULE или EXRULE в iCalendar.

Чтобы построить правило повторения, вам обычно необходимо:

  1. Укажите тип правила вFrequency.

  2. Укажите, как заканчивается шаблон повторения, используяEndType , Countили жеUntil.

  3. Укажите значения в одной или нескольких коллекциях ByXXX.

Обратите внимание, что если найдены значения части правила ByXXX, выходящие за рамки available (т. е. BYMONTHDAY=30 в феврале), они просто игнорируются.

Информация, не содержащаяся в правиле, необходимая для определения различных экземпляров повторения время начала и даты получены изStartDate. Например, “FREQ=YEARLY;BYMONTH=1” не указывает конкретный день в месяце или время. Эта информация будет такой же, как указано для DTSTART.

Части правила ByXXX каким-то образом изменяют повторение. Части правила ByXXX для периода времени, который на такой же или больше, чем частота, обычно уменьшают или ограничивают количество генерируемых повторений the . Например, “FREQ=DAILY;BYMONTH=1” уменьшает количество повторений со всех дней (если отсутствует тег BYMONTH) на все дни января. Части правила ByXXX за период времени меньше, чем частота, как правило, увеличивают или расширяют количество повторений. Например, “FREQ=YEARLY;BYMONTH=1,2” увеличивает количество дней в наборе годового повторения с 1 (если отсутствует тег BYMONTH) до 2.

Если указано несколько частей правила ByXXX, то после оценки указанных частей правила Frequency и Interval части правила ByXXX применяются к текущему набору оцениваемых вхождений в следующем порядке :ByMonth ,ByWeekNo ,ByYearDay ,ByMonthDay , ByDay ,ByHour ,ByMinute ,BySecond и BySetPos ; тогдаCount а такжеUntil оцениваются.

Смотрите также