在Dart中,如何在使用noSuchMethod时获得代码完成?

时间:2014-01-19 18:49:31

标签: dart

在编写大量类似方法时,我想使用noSuchMethod来减少样板。但是,对于我的图书馆用户来说API更糟糕,因为代码完成不再有效。我尝试了这个,但是我收到了有关未实现方法的警告:

class ThingMixin {
  foo();
  bar();
  noSuchMethod(Invocation inv) {
    ...
  }
}

有解决方法吗?

1 个答案:

答案 0 :(得分:2)

诀窍是在单独的类中定义API:

abstract class ThingApi {
  foo();
  bar();
}

class ThingMixin implements ThingApi {
  noSuchMethod(Invocation inv) {
    ...
  }
}

(请注意,如果你想让它作为mixin工作,noSuchMethod就不能调用super。)