Files
mixtape/zero.Core/Communication/Handlers/IHandlerHolder.cs
T

32 lines
572 B
C#
Raw Normal View History

2021-11-20 13:52:28 +01:00
using Microsoft.Extensions.DependencyInjection;
namespace zero.Communication;
public class HandlerHolder : IHandlerHolder
{
IServiceProvider Services { get; }
public HandlerHolder(IServiceProvider services)
{
Services = services;
}
public T Get<T>() where T : IHandler
{
return Services.GetService<T>();
}
2021-12-02 13:43:04 +01:00
public IEnumerable<T> GetAll<T>() where T : IHandler
{
return Services.GetService<IEnumerable<T>>();
}
2021-11-20 13:52:28 +01:00
}
public interface IHandlerHolder
{
T Get<T>() where T : IHandler;
2021-12-02 13:43:04 +01:00
IEnumerable<T> GetAll<T>() where T : IHandler;
2021-11-20 13:52:28 +01:00
}