В моем приложении есть две службы:
ServiceA : IService
ServiceB : IService
Я хочу передать тип информации о службе, которая мне нужна (ServiceA или ServiceB) во второй класс.
Затем я хочу получить эту услугу из этого второго класса.
IEnumerable services // i get it from DI by constructor, length = 2
// becuase i have two implementations of it
services.FirstOrDefault(x => ... and how to grab for example ServiceA?)
Итак, что мне следует передать второму классу, чтобы получить реализацию IService заданного типа? Эти службы существуют в одной сборке, и я передаю список этих служб с помощью контейнера .NET Core DI.
Сервисы и все классы существуют в одном проекте, но в разных пространствах имен (но они есть ссылка)
РЕДАКТИРОВАТЬ:
Извините, что не разъяснил это, мне нужно передать информацию об объекте по строке , потому что я отправляю на него JSON. Поэтому мне нужно получить некоторую информацию о Сервисе в виде строки, затем десериализовать ее во втором классе и на основе строки найти подходящий сервис из списка сервисов
EDIT2:
Пример, что я хочу сделать:
// logic, i know i need ServiceA, pseudocode:
return ServiceB.GetType().ToString();
// then, serialize it to json:
string json = object.Serialize(); // object where i have property for example : "service": "ServiceB"
// second class
public Task Handler(Object input)
{
// deserialize input;
// and grab service
var service = services.FirstOrDefault(x => x .....);
}
Подробнее здесь: https://stackoverflow.com/questions/612 ... ce-by-type