首页 > 解决方案 > Kotlin 从泛型类型中获取属性

问题描述

我可以在 C# 中做这样的事情

PropertyInfo propertyInfo = typeof(TEntity).GetProperties()

如何在 Kotlin 中做同样的事情

标签: genericskotlinreflection

解决方案


那么JVM在运行时遭受类型擦除。

您不能简单地做到这一点,但 Kotlinreified为函数提供了关键字inline以利用

inline fun <reified T: Any> takeKClass() {
    val reflection: KClass<T> = T::class
    ...
}

但请记住,内联函数在编译时嵌入到调用站点中,但这是 Kotlin 提供的一个很好的特性。


推荐阅读