在 Kotlin 上使用 Dagger 的 @Provides 注解 属性

Use Dagger's @Provides annotation on Kotlin propery

当显式地从 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()