gpt4 book ai didi

reflection - 如何通过kotlin中的反射获取参数名称?

转载 作者:行者123 更新时间:2023-12-04 22:59:29 28 4
gpt4 key购买 nike

java8 有“-parameters”参数,传递给编译器,kotlin 呢?
正如我所看到的,kotlin 编译器将带有参数名称的 @JetValueParameter 注释添加到参数中,但是一个被弃用了..

最佳答案

更新 : 反射 API 现在支持获取参数名称:KCallable.parameters会给你一个参数列表,和KParameter.name会给你名字。

当前的解决方案是使用 JetValueParameter注释,虽然它已被弃用。

我们正在努力支持 Kotlin 反射中的参数名称,很快就会提供。那时JetValueParameter将被放弃以支持新的 API。

我想指出的是,Kotlin 编译器目前只生成与 Java 1.6 兼容的 JVM 字节码,而 MethodParameters对应于 -parameters 的属性javac 只出现在 Java 1.8 的字节码中。因此,您仍然无法通过 Java 反射获取 Kotlin 方法的参数名称。不过,我们正在考虑对字节码目标 1.8 的支持,因此将来可能会起作用。

关于reflection - 如何通过kotlin中的反射获取参数名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30425846/

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