我想使用代码生成器来为类创建扩展,这些类应该实现一些样板方法,但显然我不能:)
样本代码:
abstract class Base {
foo(int param) { print("Base::foo $param"); }
}
class Derived extends Base {
}
extension DerivedWithFoo on Derived {
foo(int param) { print("Derived::foo $param");}
}
void main() {
final d = Derived();
d.foo(5);
}
输出:
第一个月
看起来像是扩展方法调用被提前绑定了?
谢谢。
1条答案
按热度按时间xqk2d5yq1#
你不能用
extension
来做这个。您可以尝试使用
mixin
来代替,如下所示:输出:
Mixin::foo 5