我有以下测试代码:
@proxy
class A{
noSuchMethod(Invocation inv) => "no problems";
}
class B{
String get aString => "I'm a B string";
}
void main() {
B b = new A();
print(b.aString);
}
从我在api site关于代理的内容上看到的,我假设在没有在运行时获得TypeError的情况下将代理分配给任何东西是可以的,但这不是这里的情况。如果代理不能在没有抛出TypeErrors的情况下被分配给任何东西,那么让代理实现他们想要的任何东西有什么意义呢。在文档中,它表示将代理分配给任何变量类型都不是静态类型错误。
答案 0 :(得分:2)
@proxy
用于避免警告。
class A{
noSuchMethod(Invocation inv) => "no problems";
}
@proxy
class B{
noSuchMethod(Invocation inv) => "no problems";
}
void main() {
A a = new A();
B b = new B();
a.something; // warning
b.something; // no warning
}