假设我有一个名为 interfaceA 的接口
interface InterfaceA {}
这是Assisted
注入的具体实现
class ImplClass @AssistedInject constructor(@Assisted someClass:SomeCLass):InterfaceA {
}
在这种情况下,您将如何使用Assisted
Inject,其中 dagger 还需要将具体类与接口绑定。
下面是正确的方法吗?或者我错过了什么?
class ImplClass @AssistedInject constructor(@Assisted someClass:SomeCLass):InterfaceA {
@AssistedFactory
interface DaggerFactory : Factory {
override fun create(someClass:SomeCLass): ImplClass
}
interface Factory {
fun create(someClass:SomeCLass): InterfaceA
}
}
然后,像这样绑定它
@Module
@InstallIn(ActivityComponent::class)
interface BindsSomething {
@Binds
fun binds(factory: ImplClass.DaggerFactory): ImplClass.Factory
}
上述方法虽然有效,但我想知道是否有更好的方法或不同的方法,样板更少,我不知道。