static void Main(string[] args) { // Create schedule programmatically. ISchedule schedule1 = new IntervalSchedule(TimeSpan.FromSeconds(11), TimeSpan.Zero, DateTime.MinValue); ISchedule schedule2 = new IntervalSchedule(TimeSpan.FromMinutes(1), TimeSpan.Zero, DateTime.MinValue.AddSeconds(1)); ISchedule schedule3 = new CronSchedule("*/5", "*", "*", "*", "*", TimeSpan.Zero); ISchedule combinedSchedule = new ListSchedule(new[] { schedule1, schedule2, schedule3 }); // Print schedule TDL. Console.WriteLine("Forecasting events from expression:\n{0}", combinedSchedule.ToString()); // Forecast timed events for the next hour. IEnumerable<TimedEvent> events = combinedSchedule.GetRange(DateTime.Now, DateTime.Now.AddHours(1)); int eventCount = events.Count(); Console.WriteLine("Found {0:d} events.", eventCount); // Print to screen. foreach (TimedEvent e in events) { Console.WriteLine("Event time: {0:G}", e.StartTime); } }