跳到主要內容

const_constructor_param_type_mismatch

型別為 '{0}' 的值不能賦值給 const 建構函式中型別為 '{1}' 的引數。

描述

#

當常量值的執行時型別無法賦值給常量建構函式引數的靜態型別時,分析器會產生此診斷資訊。

示例

#

以下程式碼會產生此診斷資訊,因為 i 的執行時型別是 int,它不能賦值給 s 的靜態型別

dart
class C {
  final String s;

  const C(this.s);
}

const dynamic i = 0;

void f() {
  const C(i);
}

常見修復方法

#

向建構函式傳遞正確型別的值

dart
class C {
  final String s;

  const C(this.s);
}

const dynamic i = 0;

void f() {
  const C('$i');
}