Расширение классов в дженериках Котлина

Я пытаюсь реализовать это перечисление с помощью простого конструктора следующим образом:

enum class WithGraphicKind(val innerClass: Class<*>) { CONTACT(Contact::class.java), SALE(Sale::class.java); } 

Поскольку классы Contact и Sale реализуют общий интерфейс WithGraphics , я бы хотел набрать конструктор как innerClass: Class<WithGraphics> , однако это не сработает. Я также попробовал Class<* : WithGraphics> и другие подобные, но ничего не работает. Я также не нашел никакого намека на официальную документацию здесь: https://kotlinlang.org/docs/reference/generics.html

Требуется дисперсия объявления-сайта. Генерация Котлин: дисперсия объявления-сайта

Если вы сообщите компилятору, что вы будете потреблять только WithGraphics, компилятор разрешает любой подтип WithGraphics

 enum class WithGraphicKind(val innerClass: Class<out WithGraphics>) { CONTACT(Contact::class.java), SALE(Sale::class.java); } 
 enum class WithGraphicKind(val innerClass: Class<out WithGraphics>) 

который в основном эквивалентен Java

 Class<? extends WithGraphics> 
Intereting Posts
Kotlin DSL для создания объектов json (без создания мусора) Kotlin – Несоответствие типа: Обязательно: String, Найдено: () -> String Настройка прослушивателей Android в Kotlin – использование возврата в lambdas Как написать рекурсивные сопрограммы в котлин Смарт-литье и сравнение внутри Когда выражение после «есть» проверка типа Как я могу получить ценность от наблюдаемых Конструктор, принимающий конструктивный конструктор в производном классе Котлин Как использовать фрагменты с kotlin Kotlin RxJava Nullable Bug Как динамически добавлять TextViews в мой макет на основе содержимого файла JSON? Как получить второй фрагмент из списка popBackStack в pop? Головная боль наследования котиновских дженериков kotlin coroutine throws java.lang.IllegalStateException: уже возобновлено, но получил значение Место Невозможно предоставить квалифицированную строку с помощью Dagger2 com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: ожидается BEGIN_ARRAY, но был STRING в строке 1 столбца 2 пути