Как я могу использовать параметр типа для создания универсального объекта?Android

Форум для тех, кто программирует под Android
Anonymous
Как я могу использовать параметр типа для создания универсального объекта?

Сообщение Anonymous »

Предположим, у меня есть этот класс:

Код: Выделить всё

class GenericClass(
private val param1: String = ""
private val param2: ((String, String) -> Unit)? = null
) { ... }
и у меня есть такие интерфейсы:

Код: Выделить всё

public interface IMyInterface1 extends IMyBasicInterface { ... }

public interface IMyInterface2 extends IMyBasicInterface { ... }
и у меня есть вот такой набор:

Код: Выделить всё

val interfacesSet = setOf(
IMyInterface1::class.java,
IMyInterface2::class.java)
Я хотел бы создать экземпляр GenericClass, написав что-то вроде этого:

Код: Выделить всё

interfacesSet.forEach { currentInterface ->
val myObj = GenericClass(param1, param2)
.... }
но, конечно, это не скомпилируется.
Как мне это сделать?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ric-object

Вернуться в «Android»