【发布时间】:2017-08-22 20:54:55
【问题描述】:
我在 Kotlin 中使用 Dagger 2 @Named 注释时遇到问题,这阻止了我将 Dagger 图迁移到 Kotlin。当我需要在 Dagger 模块方法中注入 @Named 参数时,就会出现问题。在这种情况下,我不是通过构造函数或字段注入它。我已经尝试了所有Kotlin annotation use-sites targets,但似乎没有一个在方法参数中起作用。请,任何解决方案将不胜感激。以下是转换为 Kotlin 后无法编译的部分 java 代码:
@Module
public final class MyModule {
(...)
@Provides
@Singleton
LoginStore provideLoginStore(@Named("main_dao_session") DaoSession mainDaoSession, @Named("demo_dao_session") DaoSession demoDaoSession) {
return new LoginStoreImpl(mainDaoSession, demoDaoSession);
}
(...)
}
【问题讨论】:
-
不是的,第一个不完整,参考github.com/google/dagger/issues/668,我觉得跟@Named这个问题没什么关系,第二个是关于字段的使用,不是函数参数。
标签: java android kotlin dagger-2