public CalendarState GetState(Calendar pCalendar, CalendarStateType pType) { CalendarState state = null; if (States.ContainsKey(pType)) { state = States[pType]; state.Init(); return(state); } switch (pType) { case CalendarStateType.Day: state = new DayState(pCalendar); break; case CalendarStateType.Month: state = new MonthState(pCalendar); break; case CalendarStateType.Year: state = new YearState(pCalendar); break; } if (state != null) { state.Init(); } States.Add(pType, state); return(state); }
public override void EndInit() { base.EndInit(); State = StateFactory.GetState(this, CalendarStateType.Day); }