26 lines
661 B
C#
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;
|
|
}
|