using Microsoft.Extensions.Logging; using Unity; using Unity.Microsoft.Logging; namespace PizzeriaContracts.DI { public class UnityDependencyContainer : IDependencyContainer { private readonly UnityContainer _container; public UnityDependencyContainer() { _container = new UnityContainer(); } public void AddLogging(Action configure) { _container.AddExtension(new LoggingExtension(LoggerFactory.Create(configure))); } public void RegisterType(bool isSingle) where U : class, T where T : class { if (isSingle) { _container.RegisterSingleton(); } else { _container.RegisterType(); } } public void RegisterType(bool isSingle) where T : class { if (isSingle) { _container.RegisterSingleton(); } else { _container.RegisterType(); } } public T Resolve() { return _container.Resolve(); } } }