using Microsoft.Extensions.DependencyInjection; namespace zero.Communication; public class HandlerHolder : IHandlerHolder { IServiceProvider Services { get; } public HandlerHolder(IServiceProvider services) { Services = services; } public T Get() where T : IHandler { return Services.GetService(); } public IEnumerable GetAll() where T : IHandler { return Services.GetService>(); } } public interface IHandlerHolder { T Get() where T : IHandler; IEnumerable GetAll() where T : IHandler; }