Прокси-объекты dart могут или не могут быть назначены типизированным переменным?
У меня есть следующий тестовый код:
@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 о прокси, я предположил, что было бы хорошо назначить прокси-сервер для чего-либо, не получая TypeError во время выполнения, но здесь это не так. Какой смысл в том, чтобы прокси-серверы реализовывали практически все, что им нужно, если они не могут быть назначены ни на что, не вызывая TypeErrors. в документах говорится, что это не статическая ошибка типа при назначении прокси для любого типа переменной.
1 ответ
Решение
@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
}