我有类似的东西:
interface Options {
fun load(conf: JsonObject)
}
object BasicOptions : Options { }
object PersonOptions : Options { }
object CarOptions : Options { }
然后我想获得所有实现选项
Objects
的interface
并调用load forEach
。fun main(args: Array) {
configFuture.whenComplete { config ->
options.forEach { it.load(config) }
}
}
最佳答案
该语言不支持此功能,这就是为什么有依赖注入(inject),注册表或服务查找解决方案的原因。
val reflections = Reflections("my.project.prefix")
val allClasses = reflections.getSubTypesOf(Options::class.java)
关于kotlin - Kotlin 。我可以获取实现特定接口(interface)的所有对象吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52573605/