gpt4 book ai didi

generics - 如何通过泛型从Singleton对象检索值

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

我正在尝试创建一个函数,该函数可以接受任何单例对象,并使用值打印其属性。

样例代码:

object MyObject {
val text = "Hello World"
}

inline fun <reified T: Any> printValues() = T::class
.declaredMemberProperties
.forEach {
println(it.name + "=" + it.value) // value doesn't exist
}


/* RUN */
fun main(args: Array<String>) {
printValues<MyObject>()
}

在kotlin中,是否可以通过像这样的通用方式从MyObject检索值?

最佳答案

这样的事情怎么样:

inline fun <reified T : Any> getObjectValues() = T::class
.declaredMemberProperties
.map { it.name to it.get(T::class.objectInstance!!) }

基本上,您需要获取T的实例,以便可以调用 get

关于generics - 如何通过泛型从Singleton对象检索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52667972/

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