RecurrenceRule Class

Represents one recurrence or exception rule in a recurrence pattern.
Inheritance Hierarchy

Namespace:  Aspose.Email.Calendar.Recurrences
Assembly:  Aspose.Email (in Aspose.Email.dll) Version: 20.2
public class RecurrenceRule

The RecurrenceRule type exposes the following members.

Public methodRecurrenceRule
Initializes a new instance of the RecurrenceRule class.
Public propertyByDay
Gets the by day.
Public propertyByHour
Gets the by hour.
Public propertyByMinute
Gets the by minute.
Public propertyByMonth
Gets the by month.
Public propertyByMonthDay
Gets the by month day.
Public propertyBySecond
Gets the by second.
Public propertyBySetPos
Gets the by set pos.
Public propertyByWeekNo
Gets the by week no.
Public propertyByYearDay
Gets the by year day.
Public propertyCount
Gets or sets the count.
Public propertyEndType
Gets or sets the end type.
Public propertyFrequency
Gets or sets the type of the recurrence rule.
Public propertyFriendlyText
Gets user friendly text of rule.
Public propertyInterval
Gets or sets the interval.
Public propertyUntil
Gets or sets the until.
Public propertyWeekStart
Gets or sets the starting day of the week.
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Protected methodMemberwiseClone (Inherited from Object.)
Public methodToString (Inherited from Object.)

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 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.

See Also