インスタンス_メンバー_静的メソッドからの_アクセス
静的メソッドからインスタンスメンバーにアクセスすることはできません。
説明
#静的メソッド内にインスタンスメンバーへの修飾されていない参照が含まれている場合、アナライザーはこの診断を生成します。
例
#以下のコードは、静的メソッドでインスタンスフィールド x が参照されているため、この診断を生成します。
dart
class C {
int x = 0;
static int m() {
return x;
}
}一般的な修正
#メソッドがインスタンスメンバーを参照する必要がある場合は、そのメソッドは静的にすることはできません。そのため、static キーワードを削除してください。
dart
class C {
int x = 0;
int m() {
return x;
}
}メソッドをインスタンスメソッドにできない場合は、クラスのインスタンスを渡せるようにパラメータを追加してください。
dart
class C {
int x = 0;
static int m(C c) {
return c.x;
}
}