【发布时间】:2017-12-07 05:35:20
【问题描述】:
在最新版本的 dagger 2 中,其中一项改进是可以使用静态提供方法。就这么简单:
@Provides
static A providesA() {
return A();
}
我想知道如何在 kotlin 中做到这一点?我试过了
@Module
class AModule {
companion object {
@JvmStatic
@Provides
fun providesA(): A = A()
}
}
但我收到错误消息:
@Provides methods can only be present within a @Module or @ProducerModule
我猜伴随对象在这里发生了一些事情,但是我对 Kotlin 还是很陌生,我不确定如何做到这一点。有没有可能?
谢谢!
【问题讨论】:
-
reddit.com/r/androiddev/comments/75rc85/… 上也有关于这个主题的一些讨论,还有第三种选择 - 顶级函数。
-
这可能是您使用的插件的原因。例如,匕首(Madrappss)。但这仍然有效。
-
@Enciyo 大约 4 年前我问过这个问题。从那时起,匕首已经走了很长一段路,现在支持这一点。当时,它没有......因此问题。