Есть ли какой-либо правильный способ объявить параметр как тип объединения, который принимает несколько типов, например, вы можете вызвать функцию как showMessage(message = "foobar")
или showMessage(message = R.string.foobar)
Что-то вроде
fun showMessage(message: String? OR Int? = null,
title: String? OR Int? = null
){
when (message)
is String -> ...
is Int -> ...
...
}
Возможно, с любым?Но это должно дать ошибку времени компиляции для нестроковых объектов.Возможно, с несколькими функциями?Но для этого потребуется 2 ^ n функций для n параметров, должно быть меньше