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

return_in_generative_constructor

コンストラクタは値を返せません。

説明

#

アナライザーは、生成コンストラクタ内に返される値を指定するreturn文が含まれている場合に、この診断を生成します。生成コンストラクタは常に作成されたオブジェクトを返します。そのため、別のオブジェクトを返すことはできません。

#

次のコードは、return文に式が含まれているため、この診断を生成します。

dart
class C {
  C() {
    return this;
  }
}

一般的な修正

#

コンストラクタが新しいインスタンスを作成する必要がある場合は、return文または式を削除してください。

dart
class C {
  C();
}

コンストラクタが新しいインスタンスを作成しない必要がある場合は、ファクトリコンストラクタに変換してください。

dart
class C {
  factory C() {
    return _instance;
  }

  static C _instance = C._();

  C._();
}