dart - 颤振,“:”是什么?
问题描述
enum ListStatus { loading, success, failure }
class ListState extends Equatable {
const ListState._({
this.status = ListStatus.loading,
this.items = const <Item>[],
});
const ListState.loading() : this._();
const ListState.success(List<Item> items)
: this._(status: ListStatus.success, items: items);
const ListState.failure() : this._(status: ListStatus.failure);
final ListStatus status;
final List<Item> items;
@override
List<Object> get props => [status, items];
}
1 什么是“._”
ListState._({...}) ?
2 这些功能旁边的“:”是什么?什么时候使用?
解决方案
ListState._({...})
这是一个私有命名构造函数,这意味着您不能从当前库外部实例化此类对象。
const ListState.loading() : this._();
这也是一个命名构造函数(虽然不是私有的),这里this._())
只是将调用委托给私有命名构造函数。
推荐阅读
- google-app-maker - APP MAKER 不适用于我组织的所有用户
- dart - 小部件树内的条件导航
- version-control - 来自 Windows ClearCase 客户端的结帐问题
- javascript - 在javascript中返回Nan值?
- windows - 通过 CMD 执行 powershell 字符串
- sqlite - SQLiteNetExtensions 多个相同类型的多对一关系
- docker - 使用覆盖网络部署 Docker 堆栈 - 行为不一致
- r - R中按组在数据表上的日期范围内滚动总和
- javascript - 根据值对javascript中的对象键进行排序
- smartcontracts - 验证过程如何在 RIDE 上进行?将脚本附加到帐户后会发生什么?