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();
}如果有多個級聯訪問,您需要為每個訪問複製擴充套件過載。