static void RunPart(BaseDay day, int part) { Trace.Write($"Running {day.Name}-{part} "); if (day.RunTests(part)) { Trace.WriteLine($" result: {day.Run(part)}\n"); } }
static void Run(Type type, int part) { BaseDay day = (BaseDay)Activator.CreateInstance(type); if (part != 0) { RunPart(day, part); } else { if (day.Part == 0) { RunPart(day, 1); RunPart(day, 2); } else { RunPart(day, day.Part); } } }