Универсальный тип param в интерфейсе - PullRequest
0 голосов
/ 26 июня 2019

У меня есть интерфейс,

    interface A<in T> {
        fun onSuccess(response: T)

        fun onFailure() 
    }

И доступ к нему при вызове в методах,

Утилита, в которой я хочу сделать что-то общее для всех методов,

private fun process(l:A<Any>){}

и несколько других методов

private fun method1(l:A<B_CLASS>){
   process(l)
}

private fun method2(l:A<C_CLASS>){
   process(l)
}

Но B_CLASS не совместимый тип Any.

Как мне решить это?

1 Ответ

2 голосов
/ 26 июня 2019

Вы можете попробовать использовать проекцию звезды вместо Any:

private fun process(l: A<*>) { }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...