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();
}複数のカスケードアクセスがある場合は、それぞれに拡張機能のオーバーライドを重複させる必要があります。