在编写许多类似方法时,我想使用noSuchMethod减少样板。但是对我的库用户而言,API变得更糟,因为代码完成不再起作用。我尝试了这个,但是收到关于未实现方法的警告:

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

有解决方法吗?

最佳答案

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

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

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

(请注意,如果您希望noSuchMethod用作 super 混合,则不能调用 super 。)

关于dart - 在Dart中,使用noSuchMethod时如何获得代码完成?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21221069/

10-09 20:54