Kotlin中密封类层次结构的问题



我在Android中遵循MVI模式。我有以下代码:

sealed class AttendLeaveEventResult : UseCaseResult<AttendLeaveEventResult>(){
}
sealed class UseCaseResult<R> {
open class SomeFetching<R> : UseCaseResult<R>()
data class Success<R>(val result: R) : UseCaseResult<R>()
data class Failure<R>(val error: Throwable) : UseCaseResult<R>()
}

然而,当我将UseCaseResult类移到它自己的文件中时,我会得到一个错误:

Cannot access <init>: it is private in UseCaseResult

如何解决这个问题?

是的,如果密封类的子类不在同一文件中或与嵌套的子类不同,则会引发错误。

请参阅此了解更多详细信息:Kotlin中另一个类中的密封类可以';无法编译:无法访问'<init>#39;它是私人

最新更新