我想做的是使用 Kotlin 反射来制作一个类的副本并将其所有属性设置为可选/可为空。
例如
fun looseClass(schema: KClass<*>): KClass<*> {
val props = schema.memberProperties.map {
if(!it.returnType.isMarkedNullable) {
it.returnType.copy(isMarkedNullable = false)
}
}
return schema.copy(memberproperties = props)
}
显然 KClass 和 KType 没有copy
方法。有什么办法可以实现我想做的事情吗?