angular - 检索组件/应用程序上所有注入服务的列表
问题描述
我正在寻找一种方法来获取组件或应用程序级别的所有注入/可注入服务的列表。
目前 Injector 只提供一个需要参数的 get 方法,我正在寻找类似 getAll 方法的东西。
我需要对这些服务进行一些自省,这就是我需要这个功能的原因。
您能否告诉我目前是否有任何方法可以实现这一目标?
更新
这是我的需要。
我有一个抽象类A,其中包含一个方法 isEveryThingOk (只是一个例子)。
这个类在 30 多个服务中被继承。
现在假设我有 5,10 或 20 个应用程序正在使用其中的几个服务,但从来没有使用所有这些服务。
在每个应用程序中,我想检查扩展我的类A的所有加载服务是否一切正常。
目前我需要在我的每个应用程序中创建一个包含所有已使用服务的数组,并通过这个数组来运行我的测试。
手动管理这些阵列非常麻烦且容易出错。服务可能通过模块间接加载。
因此,在我的主要应用程序组件中,我想遍历所有加载的服务,测试它们是否与 A 类匹配,如果匹配,则对它们中的每一个运行我的测试。
这样我肯定不会错过任何一个,也不会经历空载服务。这也让我节省了大量的时间和精力,并防止手动维护这些列表的错误。
当然,我不想创建一个包含所有服务的组件,因为这会将它们包含在每个应用程序的捆绑包中,即使它们不被使用。
解决方案
推荐阅读
- python-3.x - 由于文件路径损坏,Libewf 安装无法正常工作?
- reactjs - 无法使用来自 formik 的状态传递输入值来发布 api
- computer-science - Clips defRule 定义成功,但不与其他 defrules 一起触发
- javascript - 动态添加的 div 没有出现
- python - 避免在 Dataflow 上的 Apache Beam SDK 上使用 Python 在 Cloud Storage 上计算文件大小
- c# - 使用 3 个或更多页面时,GotoAsync 内置后退按钮不会返回上一页
- windows - 在 Windows CMake 'Configure' 错误上构建 OBS Studio Music Edition
- python - 如何正确使用 Adobe LiveCycle Designer 以编程方式制作 PDF 表单
- html - 如何使提交类型的按钮提交到不同的 URL?(不是它所在的页面)
- c# - 无法在 C# 中将类型“System.EventHandler”隐式转换为“System.Windows.Forms.KeyPressEventHandler”