Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 必填项:KodeinBinding<;输入、输入、输出任务存储库>;_Kotlin_Kodein - Fatal编程技术网

Kotlin 必填项:KodeinBinding<;输入、输入、输出任务存储库>;

Kotlin 必填项:KodeinBinding<;输入、输入、输出任务存储库>;,kotlin,kodein,Kotlin,Kodein,在探索科丹的过程中,我遵循了 同样的事情也会发生。我做错什么了吗?或者文档已过期?发现问题。我无意中包括 import java.util.Collections.singleton 而不是 导入org.kodein.di.generic.singleton这里是一个完整的工作示例: import org.kodein.di.Kodein import org.kodein.di.generic.bind import org.kodein.di.generic.instance import

在探索科丹的过程中,我遵循了


同样的事情也会发生。我做错什么了吗?或者文档已过期?

发现问题。我无意中包括

import java.util.Collections.singleton

而不是


导入org.kodein.di.generic.singleton

这里是一个完整的工作示例:

import org.kodein.di.Kodein
import org.kodein.di.generic.bind
import org.kodein.di.generic.instance
import org.kodein.di.generic.singleton

interface TasksRepository {
    fun log(): String = "EMPTY"
}
class FakeTasksRepository : TasksRepository {
    override fun log(): String = "Hello Kodeiners!"
}

val diModel = Kodein.Module("diModel") {
    bind<TasksRepository>() with singleton {
        FakeTasksRepository()
    }
}

fun main() {
    val kodein = Kodein {
        import(diModel)
    }

    val tasksRepository: TasksRepository by kodein.instance()
    println(tasksRepository.log())
}
import org.kodein.di.kodein
导入org.kodein.di.generic.bind
导入org.kodein.di.generic.instance
导入org.kodein.di.generic.singleton
接口任务存储{
乐趣日志():String=“EMPTY”
}
FakeTasksRepository类:TasksRepository{
override fun log():String=“你好,Kodeiners!”
}
val diModel=Kodein.Module(“diModel”){
使用singleton绑定(){
FakeTasksRepository()
}
}
主要内容(){
val kodein=kodein{
导入(双模型)
}
val tasksRepository:tasksRepository by kodein.instance()
println(tasksRepository.log())
}

不理解您的示例可能出现的问题,没有看到您的答复。您的导入答案有帮助。我增加了你的答案。希望我的问题能帮助其他人谁得到了错误的导入。。。并发现相同的错误消息。
Type inference failed. Expected type mismatched:
required: KodeinBinding<in ???, in ???, out TaskRepository>
found:    (Mutable)set<(() -> FakeTaskRepository)!>!
val businessModule = Kodein.Module {
    bind<IService>() with singleton { BusinessService() }
}
import org.kodein.di.Kodein
import org.kodein.di.generic.bind
import org.kodein.di.generic.instance
import org.kodein.di.generic.singleton

interface TasksRepository {
    fun log(): String = "EMPTY"
}
class FakeTasksRepository : TasksRepository {
    override fun log(): String = "Hello Kodeiners!"
}

val diModel = Kodein.Module("diModel") {
    bind<TasksRepository>() with singleton {
        FakeTasksRepository()
    }
}

fun main() {
    val kodein = Kodein {
        import(diModel)
    }

    val tasksRepository: TasksRepository by kodein.instance()
    println(tasksRepository.log())
}