我遇到了一个问题,我正在编写一个用于零垃圾回收的库。我已经写了一个myFunction
功能,但我有一个问题,我不能调用函数,除非我扩展类(在这种情况下)RandomClass
Kotlin内联方法不可见,除非扩展类
package com.charlatano
fun main(args: Array<String>) {
val hello = RandomClass<String>()
hello.myFunction { // Unresolved reference: myFunction
}
}
class myClass {
private val list = RandomClass<String>()
fun loop() {
list.myFunction { // Unresolved reference: myFunction
}
}
}
class myClassInherit : RandomClass<String>() {
private val list = RandomClass<String>()
fun loop() {
list.myFunction { // Compiles without issue
}
}
}
open class RandomClass<out E>() {
fun iterator(): Iterator<E> {
TODO()
}
inline fun <E> RandomClass<E>.myFunction(action: (E) -> Unit): Unit {
for (e in iterator()) action(e)
}
}
以下是错误:
Error:(23, 8) Kotlin: Unresolved reference: myFunction
真棒解释谢谢! –