gpt4 book ai didi

dart - Dart 2.0 中是否有任何密封类替代品?

转载 作者:IT王子 更新时间:2023-10-29 06:37:02 24 4
gpt4 key购买 nike

我有 Android 开发背景,正在学习 Flutter。

在 Android 中,使用 Kotlin 密封类从 ViewModel 返回状态是一种常见的做法,例如

sealed class MyState {
data class Success(val data: List<MyObject>) : MyState()
data class Error(val error: String) : MyState()
}

我想在 Flutter 中使用类似的模式并从 BLOC 类返回一个 State 对象。在 Flutter 中实现相同目标的最佳方法是什么?

最佳答案

此类用例将使用命名工厂构造函数完成。

它需要更多的代码,但行为是一样的。

class MyState {
MyState._();

factory MyState.success(String foo) = MySuccessState;
factory MyState.error(String foo) = MyErrorState;
}

class MyErrorState extends MyState {
MyErrorState(this.msg): super._();

final String msg;
}

class MySuccessState extends MyState {
MySuccessState(this.value): super._();

final String value;
}

关于dart - Dart 2.0 中是否有任何密封类替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54317000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com