christophsturm
03/05/2021, 4:24 PMimport kotlin.reflect.KClass
class Creator<T:Any>(val clazz: KClass<T>) {
fun create(entity: T) {}
}
data class Post(val name:String)
class Transaction
inline fun <reified T:Any>Transaction.getCreator(): Creator<T> = Creator(T::class)
// this works:
Transaction().getCreator<Post>().create(Post("name"))
// this does not:
Transaction().getCreator().create(Post("name"))
uli
03/06/2021, 11:57 PMinline fun <reified T:Any>
Transaction.create(entity:T): Creator<T> = Creator(T::class).create(entity)
Transaction().create(Post("name"))