typescript - 反转打字稿通用工厂
问题描述
我在打字稿项目中使用 inversify。我创建了一个 inversify.config.ts 文件并创建了一些 inversify 工厂。这是我的一个工厂的一个例子:
InversifyConfig.bind<MyClass>(MyClass).toSelf();
InversifyConfig.bind<interfaces.Factory<MyClass>>("Factory<MyClass>")
.toFactory<MyClass>((context: interfaces.Context) => {
return (obj: object) => {
let myClass = context.container.get<MyClass>(MyClass); // services are injected here
myClass.initObject(obj);
return myClass;
}
});
这运作良好,因此我可以轻松注入我的工厂。但是我有大约 10 个类,比如 MyClass,它们都扩展了 MySuperClass(它具有“obj”属性)。到目前为止,我只是为所有课程复制/粘贴此代码 10 次。我想知道我是否可以创建一个通用函数来创建所有这些工厂。到目前为止我尝试的所有方法都不起作用,因为我不知道如何将 Class 参数传递给我的函数。谁能知道如何实现我想要的?谢谢 ;)
解决方案
推荐阅读
- c# - 在 GenerateUserIdentity 添加的声明在登录后消失
- laravel - laravel 中的关系查询
- c# - 导出到 wdExportFormatXPS 时,ExportAsFixedFormat 抛出异常
- bash - 从几个文件中复制字符串并将其粘贴到 bash 中的新文件中
- c++ - 缺少数组元素问题
- android - 在 HERE Lite 中等效于 HERE Starter PositioningManager
- java - 我正在尝试在 Java 中将与投注相关的组件添加到我的游戏中,但程序在要求投注金额后停止工作
- c# - 不允许访问预制对象上的 Renderer.material。改用 Renderer.sharedMaterial
- css - 使用 calc() 设置动态宽度不起作用
- python - 在 groupby pandas 函数之后导出 .csv