2013-08-21 30 views
1

在達特我有一個類:Dart,是否可以隱式傳遞接口的成員?

class A implements Iterable<MyType>{ 

    List<MyType> children; 

    //other members for A class 

} 

是否有可能不使用noSuchMethod,隱含着所有的Iterable<MyType>方法到List<MyType> children;成員?

回答

1

AFAIK如果沒有noSuchMethod或者沒有實施所有成員,則無法進行委託。

的其他方式,可以使用IterableBase,只有實現Iterable.iterator這樣的:

import 'dart:collection'; 
class A extends IterableBase<MyType> { 
    List<MyType> children; 
    Iterator<MyType> get iterator => children.iterator; 
} 

注意,這可能是比實現,每個成員直接委託給children少高性能。

+0

不錯的使用IterableBase – 0xor1

相關問題