У меня есть общий интерфейс:
public interface IExceptionsDistinguisherService<T> where T : class
{
void CheckNullAction(T action);
}
Я хотел бы добавить его в неуниверсальный класс-концентратор:
public class ActionHub : IActionHub
{
//some fields declarations
private readonly IExceptionsDistinguisherService<T> _exceptionsDistinguisherService;
public ActionHub(/*other parameters,*/
IExceptionsDistinguisherService<T> exceptionsDistinguisherService;
)
{
//...
_exceptionsDistinguisherService = exceptionsDistinguisherService;
}
public Result<TOutput> Execute<TAction, TOutput>(TAction action)
{
_exceptionsDistinguisherService.CheckNullAction(action);
//... other stuff
}
//... other stuff
}
Проблема в том, что каждое примерное решение, которое я нашел, основано на предопределенном классе, который используется как свойство во время внедрения.
В моем случае было намерение определить класс впоследствии в каждом отдельном обработчике , однако я застрял здесь. Если это дубликат, я был бы признателен, если бы вы могли показать мне тему, потому что, очевидно, я не задаю правильные вопросы
У меня закончились идеи, как правильно ввести этот интерфейс, и я с радостью воспользуюсь некоторой помощью .