问题标签 [kotlin-reflect]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kotlin - 如果在带有类型参数的接口上定义了方法,则 kotlinFunction 返回 null
一个问题的快速演示:
调用没有类型参数的方法会按预期kotlinFunction
返回一个实例。KFunction
kotlin - 如何在 Kotlin 中使用 getInstance?
我无法使用createInstance()
. 例如,Foo::class.createInstance()
我有一个使用 Kotlin 1.3.70kotlin("jvm") version "1.3.70"
插件的 gradle 项目。implementation(kotlin("stdlib-jdk8"))
并implementation(kotlin("reflect"))
在我的依赖项中拥有和。
有谁知道为什么这个功能似乎不见了?
我有一个接收 a 的函数,classType: KClass<Foo>
我想创建一个Foo
使用 noarg 构造函数的实例。
android - kotlin reflect crash ,设置 minifyEnabled 为 true 。KotlinReflectionInternalError:属性“xxx”未在“xxx”类中解析
错误日志
进程:com.sjianjun.test.kotlin.delegate,PID:23730 kotlin.reflect.jvm.internal.KotlinReflectionInternalError:属性“delegateTest”(JVM 签名:getDelegateTest()Ljava/lang/Object;)未在 com.sjianjun 类中解析.test.kotlin.delegate.MainActivity 在 kotlin.reflect.jvm.internal.KDeclarationContainerImpl.findPropertyDescriptor(:115)
主要活动:
- 委托测试:
- 前卫:
- 并记录:
我发现proguard会删除以下字段:
我不知道该怎么办 ...
android - 什么时候需要 kotlin 反射库?
在文档 ( https://kotlinlang.org/docs/reference/reflection.html ) 中没有提到反射库中包含反射 API 的哪些功能。我可以在不显式引用该库的情况下进行基本反射(列出成员、参数等)。我什么时候必须将它包含在 android 上?
kotlin - 区分 Kotlin 反射中的重载方法
我有两种方法:
在我的代码中的某个时刻,我需要使用第二个版本的method
via 反射,如下所示:
这无法编译,因为编译器无法区分此重载方法的两个定义之间的区别。我找不到指定函数参数的方法。文档说:
或者,您可以通过将方法引用存储在具有明确指定类型的变量中来提供必要的上下文:
val predicate: (String) -> Boolean = ::isOdd // refers to isOdd(x: String)
但在我的例子中,分配给的函数func
可以是任意的,它不一定有两个类型的参数String
和Int
,在其他情况下,分配给这个属性的函数只有一个String
参数。但在这种情况下,我需要带有两个参数的版本。
那么,有什么方法可以指定我正在使用哪个函数,如果没有,是否有任何解决方法?
kotlin - 在 Kotlin 中将嵌套数据类转换为单级 Map
基本上我有一个数据类
我想知道如何将House
数据模型映射到只有一层的地图:
我通过首先将其转换为 json 然后映射来尝试 gson,但它会给我嵌套的地图
kotlin - 如何在类路径中包含 kotlin-reflect.jar
我正在尝试调用someObject::class.annotations
但在运行时出现错误:
Exception in thread "main" kotlin.jvm.KotlinReflectionNotSupportedError: Kotlin reflection implementation is not found at runtime. Make sure you have kotlin-reflect.jar in the classpath
build.gradle.kts
我尝试以 StackOverflow 上建议的任何不同形式将反射库包含在我的文件中,但仍然出现此错误!
在dependencies
我试过的gradle文件里面的块中:
然而,这些都没有解决问题,也没有关于如何在类路径中包含这个 jar 的官方文档。
android - jetified-kotlin-reflect 版本与 jetified-kotlin-stdlib 不同
当我编译我的项目时,错误消息显示 kotlin-reflect outOfDate 的版本,但我找不到如何更新它。
kotlin - 使用 kotlin-reflect 设置可以为空的 UShort
为什么我不能在 kotlin 中使用反射设置 UShort?我将我的问题提取到单元测试中。
我的测试如下所示:
结果是
我尝试过的事情:
- 强制值为UShort 类型?如果可空性是问题(尽管当我尝试对可空字符串 var 做同样的事情时这不是问题)
kotlin - 在 Kotlin 中迭代单例属性的正确方法是什么?
正如标题所示,我想遍历单例对象的属性。我尝试使用 kotlin-reflect,因为我目前没有找到其他方法。
但不幸的是,这会导致以下异常:
似乎get()
功能有问题(name
属性解决得很好)。是否有更好的方法(可能没有反射)或一些解决方案来访问单例中的那些预编译常量?