C#の標準APIには「DateTimePicker」などのようにコントロールとして、カレンダーを扱うクラスは有りますが、 データとしてカレンダーを扱うクラスはありません。(たぶん) 最近、Google Calendar APIを利用したカレンダーアプリケーションを作成しようとしているのですが、 そんなクラスが欲しいと思って作成しました。 このクラスで実行する処理は、与えられた日付を含む当月のカレンダーデータを作成するというものです。 通常のカレンダーでは、前月の最終週と当月の最初の週が同じ場合、その週に関しては前月の日付と当月の日付が 混ざった形になります。今回、作成したクラスでは、その場合の処理にも対応しています。 まず、カレンダーデータを管理するために、月を表す「CalendarMonth」、週を表す「CalendarWeek」、日を表す「CalendarDay」 という3つのクラスを