Inversify машинописные машинки c фабрики - PullRequest
0 голосов
/ 21 апреля 2020

Я использую 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 раз для всех классов. Интересно, смогу ли я сделать обобщенную функцию c для создания всех этих фабрик. Все, что я пробовал до сих пор, не сработало, потому что я не знаю, как передать параметр Class в мою функцию. Может ли кто-нибудь иметь представление о том, как добиться того, чего я хочу? Спасибо;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...