Получить список всех внедренных сервисов в компоненте / приложении - PullRequest
3 голосов
/ 11 марта 2019

Я ищу способ получения списка всех внедренных / инъецируемых сервисов для компонента или на уровне приложения.

В настоящее время Injector предоставляет только метод get, требующий аргумента, я ищу что-то вроде метода getAll.

Мне нужно сделать небольшой анализ этих служб, поэтому мне нужна эта функция.

Не могли бы вы сказать, есть ли способ достичь этого в настоящее время?

Обновление

Вот моя потребность.

У меня есть абстрактный класс A , который содержит метод isEveryThingOk (просто пример).

Этот класс унаследован в 30+ сервисах.

Теперь предположим, что у меня есть 5,10 или 20 приложений, которые используют некоторые из этих сервисов, но никогда не все из них.

В каждом из этих приложений я хотел бы проверить, все ли в порядке для всех загруженных служб, расширяющих мой класс A .

В настоящее время мне нужно создать массив всех используемых сервисов в каждом из моих приложений и пройти через этот массив, чтобы запустить мой тест.

Это очень проблематично и может привести к ошибкам при управлении этими массивами вручную. Службы могут быть загружены косвенно через модули.

Итак, в моем основном прикладном компоненте я хотел бы пройтись по всем загруженным сервисам, проверить, соответствуют ли они классу А, и, если они есть, запустить мой тест на каждом из них.

Таким образом, я уверен, что никогда не пропущу ни одного из них, а также не пройду через незагруженный сервис. Это также позволяет мне сэкономить много времени, энергии и избежать ошибок при ведении этого списка вручную.

Конечно, я не хочу создавать компонент, который будет содержать все службы, потому что он будет включать их в комплект каждого приложения, даже если они не используются.

...