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();
}如果有多个级联访问,您需要为每个访问复制扩展重载。