RecurrenceRule

RecurrenceRule class

Represents one recurrence or exception rule in a recurrence pattern.

Corresponds to RRULE or EXRULE part in iCalendar.

To construct a recurrence rule, you typically need to:

  1. Specify the type of the rule in Frequency .

  2. Specify how the recurrence pattern ends using EndType , Count or Until .

  3. Specify values in one or more ByXXX collections.

Note, that if ByXXX rule part values are found which are beyond the available scope (ie, BYMONTHDAY=30 in February), they are simply ignored.

Information, not contained in the rule, necessary to determine the various recurrence instance start time and dates are derived from CalendarRecurrence::StartDate . For example, “FREQ=YEARLY;BYMONTH=1” doesn’t specify a specific day within the month or a time. This information would be the same as what is specified for DTSTART.

ByXXX rule parts modify the recurrence in some manner. ByXXX rule parts for a period of time which is the same or greater than the frequency generally reduce or limit the number of occurrences of the recurrence generated. For example, “FREQ=DAILY;BYMONTH=1” reduces the number of recurrence instances from all days (if BYMONTH tag is not present) to all days in January. ByXXX rule parts for a period of time less than the frequency generally increase or expand the number of occurrences of the recurrence. For example, “FREQ=YEARLY;BYMONTH=1,2” increases the number of days within the yearly recurrence set from 1 (if BYMONTH tag is not present) to 2.

If multiple ByXXX rule parts are specified, then after evaluating the specified Frequency and Interval rule parts, the ByXXX rule parts are applied to the current set of evaluated occurrences in the following order: ByMonth , ByWeekNo , ByYearDay , ByMonthDay , ByDay , ByHour , ByMinute , BySecond and BySetPos ; then Count and Until are evaluated.

Constructors

NameDescription
RecurrenceRuleInitializes a new instance of the RecurrenceRule class.

Methods

NameDescription
Equals (2 overloads)Determines whether the specified RecurrenceRule is equal to this instance.
FromiCalendar
GenerateOccurrences
get_ByDayGets the by day.
get_ByHourGets the by hour.
get_ByMinuteGets the by minute.
get_ByMonthGets the by month.
get_ByMonthDayGets the by month day.
get_BySecondGets the by second.
get_BySetPosGets the by set pos.
get_ByWeekNoGets the by week no.
get_ByYearDayGets the by year day.
get_CountGets the count.
get_EndTypeGets the end type.
get_FrequencyGets the type of the recurrence rule.
get_FriendlyTextGets user friendly text of rule.
get_IntervalGets the interval.
get_UntilGets the until.
get_WeekStartGets the starting day of the week.
GetDayOfWeekString
GetHashCodeGetHashCode returns a hash function for this object.
IsValidByxxxChecks date on correspondence to conditions BYxxx
set_CountSets the count.
set_EndTypeSets the end type.
set_FrequencySets the type of the recurrence rule.
set_IntervalSets the interval.
set_UntilSets the until.
set_WeekStartSets the starting day of the week.
ToiCalendar