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>
в качестве параметра может быть решением, но я не хочу передавать для этой цели дополнительный аргумент.