Files
mROA/mROA/Implementation/Bootstrap/FullMixBuilder.cs
T

24 lines
474 B
C#
Raw Normal View History

2025-02-05 14:50:07 +03:00
using mROA.Abstract;
namespace mROA.Implementation.Bootstrap;
public interface IRoaBuilder
2025-02-05 14:50:07 +03:00
{
void Build();
}
public class FullMixBuilder : IRoaBuilder
2025-02-05 14:50:07 +03:00
{
public List<IInjectableModule> Modules { get; } = new();
2025-02-05 14:50:07 +03:00
public void Build()
{
foreach (var module in Modules)
foreach (var injection in Modules)
module.Inject(injection);
}
public T? GetModule<T>()
2025-02-05 14:50:07 +03:00
{
return Modules.OfType<T>().FirstOrDefault();
}
}