From 00c3b51b897c33210679de546eebcd9ec75247a1 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Tue, 1 Dec 2020 23:50:35 -0500 Subject: seal classes --- Program.cs | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) (limited to 'Program.cs') diff --git a/Program.cs b/Program.cs index 53e4814..981804b 100644 --- a/Program.cs +++ b/Program.cs @@ -5,19 +5,24 @@ using System.Reflection; namespace aoc2019 { - class Program + internal static class Program { - static void Main(string[] args) + private static void Main(string[] args) { - var days = GetDays(); + var days = + Assembly.GetExecutingAssembly().GetTypes() + .Where(t => t.BaseType == typeof(Day)) + .Select(t => (Day) Activator.CreateInstance(t)) + .OrderBy(d => d.DayNumber); - if (args.Length == 1 && int.TryParse(args[0], out int daynum)) + if (args.Length == 1 && int.TryParse(args[0], out var dayNum)) { - var d = days.Where(d => d.DayNumber == daynum); - if (d.Any()) - d.First().AllParts(); + var day = days.FirstOrDefault(d => d.DayNumber == dayNum); + + if (day != null) + day.AllParts(); else - Console.WriteLine($"{daynum} invalid or not yet implemented"); + Console.WriteLine($"{dayNum} invalid or not yet implemented"); } else { @@ -27,11 +32,5 @@ namespace aoc2019 } } } - - private static IEnumerable GetDays() => - Assembly.GetExecutingAssembly().GetTypes() - .Where(t => t.BaseType == typeof(Day)) - .Select(t => (Day)Activator.CreateInstance(t)) - .OrderBy(d => d.DayNumber); } } -- cgit 1.4.1