extension_override_without_access
拡張機能のオーバーライドは、インスタンスメンバーにアクセスするためにのみ使用できます。
説明
#この診断は、拡張機能のメンバーのいずれかにアクセスするために使用されていない拡張機能のオーバーライドが見つかった場合にアナライザーによって生成されます。拡張機能のオーバーライド構文には実行時の意味論はありません。コンパイル時に選択されるメンバーを制御するだけです。
例
#次のコードは、E(i) が式ではないため、この診断を生成します。
dart
extension E on int {
int get a => 0;
}
void f(int i) {
print(E(i));
}一般的な修正
#拡張機能のメンバーのいずれかを呼び出したい場合は、呼び出しを追加します。
dart
extension E on int {
int get a => 0;
}
void f(int i) {
print(E(i).a);
}メンバーを呼び出したくない場合は、引数をアンラップします。
dart
extension E on int {
int get a => 0;
}
void f(int i) {
print(i);
}