我正在寻找一种获取组件或应用程序级别上所有已注入/可注入服务的列表的方法。
当前Injector仅提供需要参数的get方法,我正在寻找类似getAll方法的东西。
我需要对这些服务进行一些自省,这就是为什么我需要此功能。
能否请您告诉我目前是否有办法实现这一目标?
更新
这是我的需要。
我有一个抽象类 A ,其中包含方法isEveryThingOk(仅作为示例)。
该类在30多个服务中继承。
现在让我们说有5、10或20个应用程序正在使用其中一些服务,但从来没有全部使用。
在每个应用程序中,我都想检查扩展我的类 A 的所有已加载服务是否都正常。
当前,我需要在每个应用程序中创建一个包含所有已使用服务的数组,并通过该数组来运行我的测试。
手动操作这些阵列有些麻烦并且容易出错。这些服务可以通过模块间接加载。
因此,在我的主要应用程序组件中,我想遍历所有已加载的服务,测试它们是否与A类匹配,如果匹配,则对每个服务运行我的测试。
通过这种方式,我肯定不会错过任何一个,而且也不会通过卸载的服务。这也使我节省了大量时间,精力并避免了手动维护这些列表的错误。
当然,我不想创建包含所有服务的组件,因为即使不使用它们,它们也会将它们包含在每个应用程序的捆绑包中。