Dart,是否可以隐式传递接口的成员?

时间:2013-08-21 06:31:00

标签: interface dart

在Dart我有一个班级:

class A implements Iterable<MyType>{

    List<MyType> children;

    //other members for A class

}

是否可以在不使用noSuchMethod的情况下隐式将所有Iterable<MyType>方法转发给List<MyType> children;成员?

1 个答案:

答案 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