2013-12-08 38 views
1

我不能以這種方式聲明類。可能是我錯了。這可能以其他方式嗎?這是否可能在Dart中定義類似的聲明`GroupByIterator <TSource,分組<TKey,TElement >>`

class GroupByIterator<TSource, Grouping<TKey, TElement>> { 
} 

class Grouping<TKey, TElement> { 
} 

我在這個聲明中遇到了一打編譯器錯誤。

請幫我定義類似的聲明。

P.S.

我知道下面的路,但我想知道,它可以更容易?..

void main() { 
    var it1 = new GroupByIterator<List, Grouping<int, String>, int, String>(); 
} 

class GroupByIterator<TSource, TResult extends Grouping<TKey, TElement>, TKey, TElement> { 
    GroupByIterator() { 
    print('GroupByIterator'); 
    } 
} 

class Grouping<TKey, TElement> { 
} 

我想simialr這一點。

var it1 = new GroupByIterator<List, Grouping<int, String>>(); 

回答

0
class GroupByIterator<TSource, TResult, TKey, TElement, T extends Grouping<TKey, TElement>> implements Iterator<TResult> { 
    GroupByIterator() { 
    print('GroupByIterator'); 
    } 
} 

看來,你必須列出在「頂」級的所有類型的參數在以下「低」級別使用它。

+0

謝謝,但我知道這種方式。這不是很方便,我找不到合理的解釋。爲什麼我應該列出兩次參數? – mezoni

+0

你可能已經添加到你的問題,你已經知道一種方式,但尋找一個更簡潔的方式。 –

相關問題