Я хочу использовать kotlin, когда выражения и общие методы упрощают общие настройки api для Android.
Вместо того, чтобы постоянно обращаться к getString() и getInt() и т.д., я хочу создать функцию расширения, которая будет переключаться на основе возвращаемого типа функции и вызывать соответствующий метод. Что-то вроде ниже:
fun <T> SharedPreferences.get(key: String): T? {
when (T) { //how do I switch on return type and call appropriate function?
is String -> getString(key, null)
is Int -> getInt(key, -1)
is Boolean -> getBoolean(key, false)
is Float -> getFloat(key, -1f)
is Long -> getLong(key, -1)
}
return null
}
Конечно, это не сработает. Но существует ли какое-либо решение для использования выражения для возвращаемого типа функции? Все предложения приветствуются.