Kotlin-KFunction3未解析引用
Kotlin-KFunction3未解析引用,kotlin,Kotlin,fooCtor的推断类型为KFunction3 例如,当我尝试显式地将某个东西定义为KFunction3 val fooCtor = ::Foo val fooCtor:KFunction3=::Foo IDE/编译器告诉我,KFunction3是一个未解析的引用 这是为什么我尝试将kotlin reflect添加到我的gradle.build文件中,但没有成功。我尝试通过以下方式重现IntelliJ IDEA 2017.2.6的问题: val fooCtor: KFunction3<
fooCtor
的推断类型为KFunction3
例如,当我尝试显式地将某个东西定义为KFunction3
val fooCtor = ::Foo
val fooCtor:KFunction3=::Foo
IDE/编译器告诉我,KFunction3
是一个未解析的引用
这是为什么我尝试将kotlin reflect添加到我的gradle.build文件中,但没有成功。我尝试通过以下方式重现IntelliJ IDEA 2017.2.6的问题:
val fooCtor: KFunction3<Int, Int, Int, Foo> = ::Foo
使用Kotlin 1.2.31,无需额外的库。我已尝试通过以下方式再现IntelliJ IDEA 2017.2.6的问题:
val fooCtor: KFunction3<Int, Int, Int, Foo> = ::Foo
使用Kotlin 1.2.31,无需额外的库。到
KFunction3
不是标准库的一部分,您必须手动导入它
class Foo (x: Int, y: Int, z: Int) {}
fun main(args: Array<String>) {
val ft1 = ::Foo
val ft2: KFunction3<Int, Int, Int, Foo> = ::Foo
}
这为我解决了您的问题。通过
KFunction3
不是标准库的一部分,您必须手动导入它
class Foo (x: Int, y: Int, z: Int) {}
fun main(args: Array<String>) {
val ft1 = ::Foo
val ft2: KFunction3<Int, Int, Int, Foo> = ::Foo
}
这为我解决了您的问题。是的,
::Foo
是一个构造函数,因此它返回我也使用构造函数测试过的Foo
@系列的实例。请参阅更新的答案。是的,::Foo
是一个构造函数,因此它返回我也使用构造函数测试过的Foo
@series0ne的实例。请参阅更新的答案。不确定idea为什么不建议导入。这是最好的答案!不知道为什么idea不建议进口。这是最好的答案!