Not fully documented yet.

Classes

  ClassDescription
Public classAlarm
A class that represents an RFC 2445 VALARM component. FIXME: move GetOccurrences() logic into an AlarmEvaluator.
Public classAssociatedCalendarParameterList
This class provides a parameter list via the associated container.

Examples

For example, let's say an event has several properties: BEGIN:VEVENT SUMMARY:My Event DTSTART;TZID=MST:20100703T080000 DTEND;TZID=MST:20100703T090000 END:VEVENT When we process this event, we get an object model similar to this: Event -> Properties -> CalendarProperty -> Name: SUMMARY -> Value: My Event -> CalendarProperty -> Name: DTSTART -> Value -> Type: iCalDateTime -> Value: 20100703T080000 -> Parameters -> CalendarParameter: TZID=MST -> CalendarProperty -> Name: DTEND -> Value -> Type: iCalDateTime -> Value: 20100703T090000 -> Parameters -> CalendarParameter: TZID=MST
The problem with this is that, in order to serialize the value of DTSTART and DTEND properly, they need to be aware of the TZID parameters that were attached to the event properties. This is very important when the parameter itself hints at different types of serialization. Some examples are: ENCODING=BASE64 VALUE=DATE That is why the AssociatedCalendarParameterList was created. This class associates a CalendarDataType-based property value with the property itself, so it can be serialized correctly.
Public classAssociationUtil
Public classAttachment
A class to handle attachments, or URIs as attachments, within an iCalendar.
Public classAttendee
Public classCalendarComponent
This class is used by the parsing framework for iCalendar components. Generally, you should not need to use this class directly.
Public classCalendarComponentCompositeList<(Of <(<'T>)>)>
This class works similar to the CalendarPropertyCompositeList class, but works with components instead of properties. It consolidates components of a given name into a list, and allows you to work with directly against the components themselves. This preserves the notion that our components are still stored directly within the calendar object, but gives us the flexibility to work with multiple components through a single (composite) list.
Public classCalendarDataType
An abstract class from which all iCalendar data types inherit.
Public classCalendarMethods
Public classCalendarObject
The base class for all iCalendar objects and components.
Public classCalendarObjectBase
Public classCalendarParameter
Public classCalendarParameterCompositeList
This class works similar to the CalendarPropertyCompositeList class, but works with parameters instead of properties. It consolidates parameters of a given name into a list, and allows you to work with those values directly against the parameters themselves. This preserves the notion that our values are still stored directly within the calendar parameter, but gives us the flexibility to work with multiple parameters through a single (composite) list.
Public classCalendarParameterList
Public classCalendarProductIDs
Public classCalendarProperty
A class that represents a property of the iCalendar itself or one of its components. It can also represent non-standard (X-) properties of an iCalendar component, as seen with many applications, such as with Apple's iCal. X-WR-CALNAME:US Holidays
Public classCalendarPropertyCompositeList<(Of <(<'T>)>)>
This class takes multiple calendar properties/property values and consolidates them into a single list.

Examples

Consider the following example: BEGIN:VEVENT CATEGORIES:APPOINTMENT,EDUCATION CATEGORIES:MEETING END:EVENT
When we process this event, we don't really care that there are 2 different CATEGORIES properties, no do we care that the first CATEGORIES property has 2 values, whereas the second CATEGORIES property only has 1 value. In the end, we want a list of 3 values: APPOINTMENT, EDUCATION, and MEETING. This class consolidates properties of a given name into a list, and allows you to work with those values directly against the properties themselves. This preserves the notion that our values are still stored directly within the calendar property, but gives us the flexibility to work with multiple properties through a single (composite) list.
Public classCalendarPropertyList
Public classCalendarScales
Public classCalendarVersions
Public classComponentFactory
Public classComponents
Public classDateUtil
Public classEncodableDataType
An abstract class from which all iCalendar data types inherit.
Public classEvaluationEngineException
Public classEvaluator
Public classEvent
A class that represents an RFC 5545 VEVENT component.
Public classEventEvaluator
Public classFilteredCalendarObjectList<(Of <(<'T>)>)>
A collection of iCalendar components. This class is used by the iCalendar class to maintain a collection of events, to-do items, journal entries, and free/busy times.
Public classGeographicLocation
A class that represents the geographical location of an Event or Todo item.
Public classiCalDateTime
The iCalendar equivalent of the .NET DateTime class.

Remarks

In addition to the features of the DateTime class, the iCalDateTime class handles time zone differences, and integrates seamlessly into the iCalendar framework.
Public classiCalendar
A class that represents an iCalendar object. To load an iCalendar object, generally a static LoadFromXXX method is used.

Examples

For example, use the following code to load an iCalendar object from a URL:
CopyC#
IICalendar iCal = iCalendar.LoadFromUri(new Uri("http://somesite.com/calendar.ics"));
Once created, an iCalendar object can be used to gathers relevant information about events, todos, time zones, journal entries, and free/busy time.
Public classiCalendarCollection
A list of iCalendars.
Public classiCalParserTokenTypes
Public classiCalTimeZone
A class that represents an RFC 5545 VTIMEZONE component.
Public classiCalTimeZoneInfo
A class that contains time zone information, and is usually accessed from an iCalendar object using the GetTimeZone(String) method.
Public classJournal
A class that represents an RFC 5545 VJOURNAL component.
Public classKeyedList<(Of <(<'T, U>)>)>
Public classKnownTypeHelper
Public classObjectEventArgs<(Of <(<'T>)>)>
Public classOrganizer
A class that represents the organizer of an event/todo/journal.
Public classPeriod
Represents an iCalendar period of time.
Public classPeriodList
An iCalendar list of recurring dates (or date exclusions)
Public classPeriodListEvaluator
Public classRecurrencePattern
An iCalendar representation of the RRULE property.
Public classRecurrencePatternEvaluator
Public classRecurrenceUtil
Public classRecurringComponent
An iCalendar component that recurs.
Public classRecurringComponentDateSorter
Sorts recurring components by their start dates
Public classRecurringEvaluator
Public classRequestStatus
A class that represents the return status of an iCalendar request.
Public classSerializationUtil
Public classServiceProvider
Public classStatusCode
An iCalendar status code.
Public classTextUtil
Public classTimeZoneEvaluator
Public classTimeZoneInfoEvaluator
Public classTodo
A class that represents an RFC 5545 VTODO component.
Public classTodoEvaluator
Public classTrigger
A class that is used to specify exactly when an Alarm component will trigger. Usually this date/time is relative to the component to which the Alarm is associated.
Public classUIDFactory
Public classUniqueComponent
Represents a unique component, a component with a unique UID, which can be used to uniquely identify the component.
Public classUniqueComponentList<(Of <(<'T>)>)>
A collection of iCalendar components. This class is used by the iCalendar class to maintain a collection of events, to-do items, journal entries, and free/busy times.
Public classUTCOffset
Represents a time offset from UTC (Coordinated Universal Time).
Public classValueChangedEventArgs
Public classWeekDay
Represents an RFC 5545 "BYDAY" value.

Structures

  StructureDescription
Public structureAlarmOccurrence
A class that represents a specific occurrence of an Alarm.
Public structureOccurrence
Public structureTimeZoneObservance

Interfaces

Delegates

  DelegateDescription
Public delegateUIDChangedEventHandler

Enumerations

  EnumerationDescription
Public enumerationAlarmAction
Public enumerationEventStatus
Status codes available to an Event item
Public enumerationFrequencyOccurrence
Indicates the occurrence of the specific day within a MONTHLY or YEARLY recurrence frequency. For example, within a MONTHLY frequency, consider the following: Recur r = new Recur(); r.Frequency = FrequencyType.Monthly; r.ByDay.Add(new WeekDay(DayOfWeek.Monday, FrequencyOccurrence.First)); The above example represents the first Monday within the month, whereas if FrequencyOccurrence.Last were specified, it would represent the last Monday of the month. For a YEARLY frequency, consider the following: Recur r = new Recur(); r.Frequency = FrequencyType.Yearly; r.ByDay.Add(new WeekDay(DayOfWeek.Monday, FrequencyOccurrence.Second)); The above example represents the second Monday of the year. This can also be represented with the following code: r.ByDay.Add(new WeekDay(DayOfWeek.Monday, 2));
Public enumerationFrequencyType
Public enumerationJournalStatus
Status codes available to a Journal entry.
Public enumerationRecurrenceEvaluationModeType
Public enumerationRecurrenceRestrictionType
Public enumerationTodoStatus
Status codes available to a Todo item.
Public enumerationTriggerRelation