Dynamically load and run current day implementation.
This commit is contained in:
@@ -7,19 +7,38 @@ namespace AdventOfCode2020
|
|||||||
{
|
{
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
int currentDayNumber = 3;
|
int currentDayNumber = 0;
|
||||||
IDay currentDay = null;
|
|
||||||
|
|
||||||
switch (currentDayNumber)
|
DateTime date = DateTime.UtcNow.AddHours(-5);
|
||||||
|
if (date.Month == 12 && currentDayNumber == 0)
|
||||||
{
|
{
|
||||||
case 1: currentDay = new Day01(); break;
|
currentDayNumber = date.Day;
|
||||||
case 2: currentDay = new Day02(); break;
|
|
||||||
case 3: currentDay = new Day03(); break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RunDay(currentDayNumber);
|
||||||
|
|
||||||
|
Console.Read();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void RunDay(int currentDayNumber)
|
||||||
|
{
|
||||||
Console.WriteLine(string.Format("Day {0:00}", currentDayNumber));
|
Console.WriteLine(string.Format("Day {0:00}", currentDayNumber));
|
||||||
Console.WriteLine("------");
|
Console.WriteLine("------");
|
||||||
Console.WriteLine();
|
Console.WriteLine();
|
||||||
|
|
||||||
|
IDay currentDay = null;
|
||||||
|
Type dayType = Type.GetType(string.Format("AdventOfCode2020.Day{0:00}", currentDayNumber));
|
||||||
|
if (dayType != null)
|
||||||
|
{
|
||||||
|
currentDay = Activator.CreateInstance(dayType) as IDay;
|
||||||
|
}
|
||||||
|
if (currentDay == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("!!!!!!!");
|
||||||
|
Console.WriteLine("Day implementation not found.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
string[] linesDay = File.ReadAllLines(string.Format("inputs/Day{0:00}.txt", currentDayNumber));
|
string[] linesDay = File.ReadAllLines(string.Format("inputs/Day{0:00}.txt", currentDayNumber));
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -38,11 +57,10 @@ namespace AdventOfCode2020
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
Console.WriteLine("!!!!!!!");
|
||||||
Console.WriteLine(ex.Message);
|
Console.WriteLine(ex.Message);
|
||||||
Console.WriteLine(ex.StackTrace);
|
Console.WriteLine(ex.StackTrace);
|
||||||
}
|
}
|
||||||
|
|
||||||
Console.Read();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user