gpt4 book ai didi

android - 对于 Dagger 2,是否可以进行可变构造函数参数注入(inject)?

转载 作者:行者123 更新时间:2023-11-29 01:04:10 26 4
gpt4 key购买 nike

在 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)

我可以让它们绑定(bind)为

@Inject
@field:Named(LOVE)
lateinit var infoLove: Info

@Inject
@field:Named(HELLO)
lateinit var infoHello: Info

但是,如果我想注入(inject)一个 Info 对象,其参数定义在对象声明端,如下所示,例如如下...(显然以下是不可能的),我该怎么做?

 @Inject
@field:Named("My String that I want to send into Info as argument")
lateinit var infoWithAboveAsArgument: Info

最佳答案

我认为您正在寻找的是 AutoFactory。基本上它允许您注入(inject)一些参数并定义其他参数 https://github.com/google/auto/tree/master/factory

关于android - 对于 Dagger 2,是否可以进行可变构造函数参数注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48801536/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com