【发布时间】:2022-11-10 18:15:42
【问题描述】:
我想在 Dart 中创建一个递归 mixin。这是我尝试过的:
mixin A<T extends Object> on Object {
List<Object?> get list;
List<Object?> get _list => [if (super is A) ...super._list, ...list];
}
但是这段代码给了我一个信息 lint,告诉我super 始终是A,但._list 也没有在super 中定义。
如果我尝试通过这样做来修复第二个 lint:
List<Object?> get _props => [if (super is A) ...(super as A)._props, ...props];
它给了我一个新的 lint 说 super as A 是不必要的演员表。
我想在这里实现的是Mixin,当添加到基类时,_list 将具有与list 相同的内容。但是,当我从基类中获得扩展类时,如果我覆盖list,则此类_list 会将基类list 添加到新类中。
【问题讨论】:
标签: flutter dart recursion mixins