В настоящее время в моем коде есть следующее
fun use(consumer: (T) -> Unit) {
consumer(this.value)
}
suspend fun useS(consumer: suspend (T) -> Unit) {
consumer(this.value)
}
Это 2 метода, которые фактически делают то же самое. Однако мне не удалось ни объединить их в один, ни использовать перегруженный метод. В некоторых местах мой потребительский аргумент является обычной функцией, в других местах это suspend
function; У меня нет над этим контроля.
Можно ли иметь только один метод, независимо от "приостановки" моего потребителя?
РЕДАКТИРОВАТЬ: забыл упомянуть, что this.value
равно private
и, следовательно, использование inline
не будет работать - тем не менее, я контролирую это, поэтому может изменить видимость поля value
.