Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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
Dependency injection 有没有办法在kotlin kodein中创建一个工厂绑定,它可以生成null?_Dependency Injection_Kotlin_Kodein - Fatal编程技术网

Dependency injection 有没有办法在kotlin kodein中创建一个工厂绑定,它可以生成null?

Dependency injection 有没有办法在kotlin kodein中创建一个工厂绑定,它可以生成null?,dependency-injection,kotlin,kodein,Dependency Injection,Kotlin,Kodein,有没有办法创建一个工厂绑定,它可以生成null 比如说, bind<String?> with factory { x: Int -> when (x) { 1 -> "A" 2 -> "B" else -> null } } 与工厂绑定{x:Int-> 何时(x){ 1->“A” 2->“B” else->null } } 不幸的是,bind给出了错误。最后是可选的: bind<Op

有没有办法创建一个工厂绑定,它可以生成null

比如说,

bind<String?> with factory { x: Int -> 
    when (x) {
        1 -> "A"
        2 -> "B"
        else -> null
    }
}
与工厂绑定{x:Int->
何时(x){
1->“A”
2->“B”
else->null
}
}

不幸的是,
bind
给出了错误。

最后是
可选的

bind<Optional<String>> with factory { x: Int -> 
    when (x) {
        1 -> Optional.of<String>("A")
        2 -> Optional.of<String>("B")
        else -> Optional.empty()
    }
}
与工厂绑定{x:Int->
何时(x){
1->可选。of(“A”)
2->可选。of(“B”)
else->Optional.empty()
}
}

这是正确答案。Kodein中的工厂不允许Null。