Función de extensión Kotlin: reference no resuelta

Estoy tratando de crear esta function de extensión:

fun <T : RealmObject> Realm.query(myClass : KClass<T>) { RealmQuery.createQuery(this, myClass::class.java) } 

Esto no comstack. El comstackdor dice: "Referencia no resuelta: myClass" cuando escribo

 myClass::class.java 

Pero si hago esto:

 fun <T : RealmObject> Realm.query(myClass : Class<T>) { RealmQuery.createQuery(this, myClass) } 

¡Funciona perfectamente! No entiendo por qué.

myClass ya es una KClass<T> puede usar la function de miembro myClass.java así:

 fun <T : RealmObject> Realm.query(myClass : KClass<T>) = RealmQuery.createQuery(this, myClass.java) 

Para simplificar el uso, puedes usar inline como tal

 inline fun <reified T : RealmObject> Realm.query() = RealmQuery.createQuery(this, T::class.java) 

Y luego usarlo como val userQuery = Realm.query<User>()

  • Reino que devuelve datos obsoletos
  • Acceso al reino desde un hilo incorrecto en Espresso
  • Error: contiene campo final ilegal -Kotlin
  • Cómo insert el object RealmList con copyToRealm
  • Escribir Daos del reino con transactions cerradas
  • Retrofit + Deserialization GSON + Relación de reino
  • Usa el reino en todos los hilos
  • Kotlin y @Transient
  • El tamaño de RealmResults es cero
  • la demostración del reino de Kotlin no se puede ejecutar
  • La notificación de consulta de dominio no se activa con Kotlin