Files
PIbd-32_BuslaevRoman_KOP/WinFormsComponentOrientedHost/Infrastructure/HostServicesImpl.cs
2025-09-23 14:07:38 +04:00

26 lines
661 B
C#

using ComponentOrientedPlatform.Abstractions;
namespace WinFormsComponentOrientedHost;
public sealed class HostServicesImpl : IHostServices
{
private readonly Dictionary<Type, object> _services = new();
public ILicenseProvider License { get; }
public IAppLogger Logger { get; }
public HostServicesImpl(ILicenseProvider license, IAppLogger logger)
{
License = license;
Logger = logger;
}
public void Register<T>(T service) where T : class
{
_services[typeof(T)] = service;
}
public T? GetService<T>() where T : class
=> _services.TryGetValue(typeof(T), out var s) ? (T)s : null;
}