Конечно, вы можете сделать что-то подобное:
fun <Input, Output> doInBackground(
vararg params: Int?,
inputHandler: (Array<Int?>) -> Input,
outputHandler: (Input) -> Output): Output {
val host = params[0]
val message = params[1]
val portStr = params[2]
return outputHandler(inputHandler(arrayOf(host, message, portStr)))
}
, где Input
, Output
может быть любого типа, который вам нравится. Здесь inputHandler, outputHandler являются необходимыми функциями.