AdventOfCode/AdventOfCode.Core/Shared/AnswerableListBuilder.cs
Rob 3846b42b7e Massive code base change
partial completion of day 3
2023-12-03 19:09:26 +01:00

27 lines
786 B
C#

using System.Reflection;
namespace AdventOfCode.Core.Shared
{
public class AnswerableListBuilder
{
public static IEnumerable<Answerable> AnswerableList()
{
Type type = typeof(Answerable);
IEnumerable<Answerable?> instances =
Assembly.GetExecutingAssembly().GetTypes()
.Where(t =>
t.GetInterfaces().Contains(type) &&
t.GetConstructor(Type.EmptyTypes) != null
)
.Select(t => Activator.CreateInstance(t) as Answerable)
.Where(i => i != null);
// try to filter null
var noneNull = instances.Where(i => i != null);
return new List<Answerable>();
}
}
}