【发布时间】:2018-02-15 07:01:29
【问题描述】:
在 Dagger 2 中,我可以使用 @Qualifier 实例化两个具有不同参数的相同类型的对象,例如
@Module
open class Bag {
@Provides @Named(LOVE)
open fun sayLoveDagger2(): Info {
return Info("I Love You")
}
@Provides @Named(HELLO)
open fun sayHelloDagger2(): Info {
return Info("Hello Dagger 2")
}
}
class Info(val text: String)
我可以让它们绑定为
@Inject
@field:Named(LOVE)
lateinit var infoLove: Info
@Inject
@field:Named(HELLO)
lateinit var infoHello: Info
但是,如果我想注入一个 Info 对象,并在对象声明端定义如下参数,例如如下......(显然下面是不可能的),我该怎么做?
@Inject
@field:Named("My String that I want to send into Info as argument")
lateinit var infoWithAboveAsArgument: Info
【问题讨论】:
标签: android kotlin dagger-2 qualifiers