扩展Iterable的Haxe接口

问题描述 投票:4回答:1

我有一个扩展Iterable(以及其他接口)的接口。

interface MyInterface extends Iterable {
  public function iterator ():Iterator<Dynamic>;
}

这给了我

MyInterface.hx:1:第1-3行:Iterable的类型参数数量无效

什么是正确的进行方式?

generics interface haxe
1个回答
7
投票

Iterable被定义为typedef,而不是interface,因此这不起作用。

只需在您的类中添加一个名为iterator()的函数即可,无需实现或扩展任何内容。这种机制叫做structural subtyping

有关Iterators here的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.