跳到主要内容

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);
}