invocation_of_extension_without_call
拡張機能 '{0}' は 'call' メソッドを定義していないため、オーバーライドを呼び出しに使用することはできません。
説明
#関数を呼び出すために拡張機能のオーバーライドが使用されていますが、拡張機能が call メソッドを宣言していない場合に、アナライザーはこの診断を生成します。
例
#以下のコードは、拡張機能 E が call メソッドを定義していないため、この診断を生成します。
dart
extension E on String {}
void f() {
E('')();
}一般的な修正
#拡張機能で call メソッドを定義する意図がある場合は、それを宣言してください。
dart
extension E on String {
int call() => 0;
}
void f() {
E('')();
}拡張された型が call メソッドを定義している場合は、拡張機能のオーバーライドを削除してください。
call メソッドが定義されていない場合は、call メソッドを呼び出さないようにコードを書き直してください。