type_init_formals
不要給初始化形式引數(initializing formals)新增型別註解。
詳情
#不要給初始化形式引數(initializing formals)新增型別註解。
如果建構函式引數使用 this.x 來初始化欄位,則引數的型別被理解為與欄位型別相同。如果建構函式引數使用 super.x 來轉發給超類建構函式,則引數的型別被理解為與超類建構函式引數相同。
用與欄位型別不同的型別來註解初始化形式引數是可以的。
錯誤示例
dart
class Point {
int x, y;
Point(int this.x, int this.y);
}正確示例
dart
class Point {
int x, y;
Point(this.x, this.y);
}錯誤示例
dart
class A {
int a;
A(this.a);
}
class B extends A {
B(int super.a);
}正確示例
dart
class A {
int a;
A(this.a);
}
class B extends A {
B(super.a);
}啟用
#要啟用 type_init_formals 規則,請在您的 analysis_options.yaml 檔案中,在 linter > rules 下新增 type_init_formals
analysis_options.yaml
yaml
linter:
rules:
- type_init_formals如果您使用的是 YAML map 語法來配置 linter 規則,請在 linter > rules 下新增 type_init_formals: true
analysis_options.yaml
yaml
linter:
rules:
type_init_formals: true