Reflection 通过Kotlin中的反射获取成员变量
如果我在Kotlin上课:Reflection 通过Kotlin中的反射获取成员变量,reflection,kotlin,Reflection,Kotlin,如果我在Kotlin上课: class Foo{ var x= null var y=null } 我想检查这些成员中的哪些是在运行时通过反射设置的。我可以迭代它们并在Java中检查null Foo foo= new Foo(); //this gives me the value of foo.x Foo.class.getDeclaredField("x").get(foo); 如何在Kotlin/Native中执行相同的操作?我知道我可以在Android中通过 Foo::clas
class Foo{
var x= null
var y=null
}
我想检查这些成员中的哪些是在运行时通过反射设置的。我可以迭代它们并在Java中检查null
Foo foo= new Foo();
//this gives me the value of foo.x
Foo.class.getDeclaredField("x").get(foo);
如何在Kotlin/Native中执行相同的操作?我知道我可以在Android中通过
Foo::class.java.getDeclaredField("x").get(foo)
但这在本机环境中不起作用。我只是看一下文档,所以下面的内容可能有点错误,但您可以尝试一下:
val prop : KCallable = Foo::class.members.firstOrNull { it.name == "x" }
if (prop != null) {
val xValue : Int? = prop.call(object)
//you have to declare the type of the xValue
}