メインコンテンツにスキップ

field_initializer_outside_constructor

フィールドの初期化パラメータは、コンストラクタでのみ使用できます。

初期化パラメータは、コンストラクタでのみ使用できます。

説明

#

アナライザーは、コンストラクタ以外のパラメータリストで初期化パラメータが使用されている場合に、この診断を生成します。

#

以下のコードは、初期化パラメータ `this.x` がメソッド `m` で使用されているため、この診断を生成します。

dart
class A {
  int x = 0;

  m([this.x = 0]) {}
}

一般的な修正

#

初期化パラメータを通常のパラメータに置き換え、メソッドの本体内でフィールドに値を代入してください。

dart
class A {
  int x = 0;

  m([int x = 0]) {
    this.x = x;
  }
}