Вы объявили универсальный несколько раз.Вот откуда произошла ошибка параметра reified.
abstract fun <T> getEntityClass(): Class<T>
должен измениться на:
abstract fun getEntityClass(): Class<T>
Поскольку универсальный T уже был объявлен, когда вы написали abstract class SimpleManager<T>
Затем исправьте подкласс, изменив
override fun <ClientLimit> getEntityClass(): Class<ClientLimit> {
return ClientLimit::class
}
на
override fun getEntityClass(): Class<ClientLimit> {
return ClientLimit::class
}
Таким образом, ошибка параметра reified исчезнет, и у вас останется «Несоответствие типов».ошибка.
Измените ClientLimit::class
на ClientLimit::class.java
и все готово.