跳到主内容

field_initializer_not_assignable

在 const 构造函数中,初始化器类型“{0}”无法赋值给字段类型“{1}”。

初始化器类型“{0}”无法赋值给字段类型“{1}”。

描述

#

当构造函数的初始化列表将字段初始化为无法赋值给该字段的值时,分析器会生成此诊断信息。

示例

#

以下代码会生成此诊断信息,因为 0 的类型是 int,而 int 无法赋值给 String 类型的字段

dart
class C {
  String s;

  C() : s = 0;
}

常见修复方法

#

如果字段的类型是正确的,则更改赋给它的值,使其具有有效的类型

dart
class C {
  String s;

  C() : s = '0';
}

如果值的类型是正确的,则更改字段的类型以允许赋值

dart
class C {
  int s;

  C() : s = 0;
}