extension_override_with_cascade
扩展重载没有值,因此不能用作级联表达式的接收者。
描述
#当扩展重载用作级联表达式的接收者时,分析器会产生此诊断。级联表达式 e..m
的值是接收者 e
的值,但扩展重载不是表达式并且没有值。
示例
#以下代码产生此诊断,因为 E(3)
不是表达式
dart
extension E on int {
void m() {}
}
f() {
E(3)..m();
}
常见修复方法
#使用 .
而非 ..
dart
extension E on int {
void m() {}
}
f() {
E(3).m();
}
如果有多个级联访问,您需要为每个访问复制扩展重载。