【发布时间】:2018-05-02 17:27:40
【问题描述】:
Kotlin 提供了一种使用 reified 关键字获取泛型类型参数的运行时类的方法,该关键字只能与 inline 函数一起使用。例如以下作品:
inline fun <reified T> test() : T {
println(T::class.java)
}
但是,我需要一种在 非内联 函数中执行此操作的方法。由于reified 关键字不是非内联函数的选项,因此以下内容不起作用:
fun <reified T> test() : T {
println(T::class.java)
}
Kotlin 是否有不同的方法来解决这个问题?我知道将Class<T> 作为参数可能是一种解决方案,但我不想为此向我的函数传递额外的参数。
【问题讨论】:
标签: generics reflection kotlin inline