我有一个界面:
interface CartonRepository {
fun addToCart(company: Company): Completable
}
现在我想在我的用例中使用这个接口:
class ObserveCartonItemSelectionUseCase
@Inject constructor(private val cartonRepository: CartonRepository) : ObservableUseCase<UUID, Boolean> {
}
并且此用例通过以下方式注入其他类:
@Inject
protected lateinit var observeCartonSelectionUseCase: ObserveCartonItemSelectionUseCase
我收到错误:
ApplicationComponent.java:13: error: CartonRepository cannot be provided without an @Provides-annotated method.
public abstract void inject(@org.jetbrains.annotations.NotNull()
答案 0 :(得分:0)
错误说明了提供CartonRepository
应该采取的措施。在界面中添加@Provides
注释:
@Provided
interface CartonRepository {
fun addToCart(company: Company): Completable
}
这将告诉Dagger这个界面应该是可注射的。