跳到主要内容

prefer_constructors_over_static_methods

静态方法应为构造函数。

描述

#

分析器会在静态方法返回新创建的类实例,因此可以被替换为构造函数时,生成此诊断信息。

示例

#

以下代码会生成此诊断信息,因为静态方法 all 可以是构造函数

dart
class C {
  final int a, b, c;
  C(this.a, this.b, this.c);
  static C all(int i) => C(i, i, i);
}

常见修复方法

#

将静态方法转换为命名构造函数

dart
class C {
  final int a, b, c;
  C(this.a, this.b, this.c);
  C.all(int i) : a = i, b = i, c = i;
}