在Dart我有一个班级:
class A implements Iterable<MyType>{
List<MyType> children;
//other members for A class
}
是否可以在不使用noSuchMethod
的情况下隐式将所有Iterable<MyType>
方法转发给List<MyType> children;
成员?
答案 0 :(得分:1)
AFAIK如果没有noSuchMethod
或没有实施所有成员,就无法委派。
另一种方法是使用IterableBase并且只实现Iterable.iterator,如下所示:
import 'dart:collection';
class A extends IterableBase<MyType> {
List<MyType> children;
Iterator<MyType> get iterator => children.iterator;
}
请注意,这可能不如实现并将每个成员直接委派给children
。