gpt4 book ai didi

kotlin - KClass::memberExtensionFunctions始终为空

转载 作者:行者123 更新时间:2023-12-02 12:42:44 25 4
gpt4 key购买 nike


import kotlin.reflect.full.*

class FooBar(val bar: String)
fun FooBar.baz(): Unit {println(this.bar)}

fun main(args: Array<String>) {
FooBar::class.declaredMemberExtensionFunctions.forEach {
println(it)
}
FooBar::class.memberExtensionFunctions.forEach {
println(it)
}
}

输出为空

最佳答案

这是因为clarifiedMemberExtensionFunctions仅返回在类内部声明的扩展函数(如docs所示),而FooBar.baz()是顶级声明(因此未在FooBar内部声明。

class FooBar(val bar: String) {
fun FooBar.baz(): Unit {
println(this.bar)
}
}

虽然我想这不是您想要的,但是像这样构造扩展功能将使您的主要方法输出行。

关于kotlin - KClass::memberExtensionFunctions始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50101852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com