kotlin 的sealed class获取所有子类的class
在 Kotlin 中,要获取一个 sealed class 的所有子类的 class,可以使用 Kotlin 的反射功能。以下是一个示例代码:
sealed class MySealedClass {
object A : MySealedClass()
object B : MySealedClass()
object C : MySealedClass()
}
fun main() {
val subclasses = MySealedClass::class.sealedSubclasses
for (subclass in subclasses) {
println(subclass.simpleName)
}
}
在上面的示例中,sealedSubclasses 是 KClass 类的一个属性,用于获取 sealed class 的所有子类。然后可以使用 simpleName 属性获取子类的类名,并进行打印输出。
运行上面的代码,输出结果将会是:
A
B
C
这样就可以获取到 sealed class 的所有子类的 class 了。请注意,如果 sealed class 没有任何子类,sealedSubclasses 将返回一个空列表
原文地址: http://www.cveoy.top/t/topic/it8w 著作权归作者所有。请勿转载和采集!