如何解决如何在 Kotlin 中修改伴生对象的属性?
我有一个包含如下伴生对象的类。
class Customization {
companion object {
var become_member = ""
}
}
我想在运行时修改伴随对象的属性。我将在这个类中添加数百个属性。所以我必须做动态。我使用了这种方法并得到如下错误。
fun customizeStrings(key:String,value:String){
var buckTypes = Customization::class
var buck = Customization()
var variableToInvoke = buckTypes.companionObject!!.memberProperties.find {
it.name == key
}
println(variableToInvoke!!.name)
if (variableToInvoke is KMutableProperty<*>) {
variableToInvoke.setter.call(buck,value)
}
}
我收到此错误。
org.koin.core.error.InstanceCreationException:无法为 [Factory:'com.screen.splash.SplashViewModel'] 创建实例
有人可以向我解释我的错在哪里吗?或者告诉我另一种在 Kotlin 中修改伴生对象属性的方法?
解决方法
正如@AnimeshSahu 在评论中所说,它很有效。如果像我这样的人出现错误,请尝试直接访问像 Customizationn.Companion::class
这样的目标同伴。它拯救了我的一天。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。