当显式地从 Dagger 的模块提供服务时,我可以使用以下语法:
@Provides
fun provideService(): MyService = MyService()
但是,如果我尝试使用属性而不是函数,它不起作用:
@Provides
val myService get() = MyService()
我得到的错误是:This annotation is not applicable to target 'member property without backing field or delegate'
。
使用属性的方法感觉应该可行,但事实并非如此。
我的问题是是否有一种方法可以使用属性从 Dagger 模块提供服务?
最佳答案
应该这样做:
val myService: MyService
@Provides get() = MyService()
关于android - 在 Kotlin 属性中使用 Dagger @Provides 注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62534288/