我遇到了一個問題,我正在編寫一個用於零垃圾回收的庫。我已經寫了一個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
真棒解釋謝謝! –