跳到主要內容

pattern_type_mismatch_in_irrefutable_context

匹配值的型別 '{0}' 無法賦值給要求的型別 '{1}'。

描述

#

當模式賦值或模式宣告右側值的型別與用於匹配的模式所要求的型別不匹配時,分析器會生成此診斷資訊。

示例

#

以下程式碼會產生此診斷資訊,因為 x 可能不是 String 型別,因此可能與物件模式不匹配

dart
void f(Object x) {
  var String(length: a) = x;
  print(a);
}

常見修復方法

#

修改程式碼,使右側表示式的型別與模式要求的型別匹配

dart
void f(String x) {
  var String(length: a) = x;
  print(a);
}