在编写大量类似方法时,我想使用noSuchMethod来减少样板。但是,对于我的图书馆用户来说API更糟糕,因为代码完成不再有效。我尝试了这个,但是我收到了有关未实现方法的警告:
class ThingMixin {
foo();
bar();
noSuchMethod(Invocation inv) {
...
}
}
有解决方法吗?
答案 0 :(得分:2)
诀窍是在单独的类中定义API:
abstract class ThingApi {
foo();
bar();
}
class ThingMixin implements ThingApi {
noSuchMethod(Invocation inv) {
...
}
}
(请注意,如果你想让它作为mixin工作,noSuchMethod就不能调用super。)