Принудительно Dagger 2 создать экземпляр введенного поля - PullRequest
0 голосов
/ 10 июня 2018

У меня есть вопрос о Dagger 2. Можно ли заставить dagger создать экземпляр внедренного поля без вызова компонента и его создателя?

Например, если у нас есть такой провайдер:

@provider ClassA getClassA();

Тогда в другом классе я могу использовать его напрямую:

Class ClassB{
    //May be I can do something here to force dagger to create an instance of ClassA
    @inject ClassA classA;

    void doSth(){
        classA.prop1 ...
    }
}

Примечание: у меня нет доступа к моему компоненту кинжала в ClassB!

1 Ответ

0 голосов
/ 10 июня 2018

Если вы пометите конструктор как @Inject и вы получите ClassB из компонента, то это автоматически.

class ClassB{
    @Inject
    ClassB() {
    }

    @Inject ClassA classA;

    void doSth(){
        classA.prop1 ...
    }
}
...