跳到主要內容

positional_field_in_object_pattern

物件模式只能使用命名欄位。

描述

#

當物件模式包含一個未指定 getter 名稱的欄位時,分析器會生成此診斷。物件模式欄位與物件 getter 返回的值進行匹配。如果未指定 getter 名稱,模式欄位將無法訪問值以嘗試匹配。

示例

#

以下程式碼會生成此診斷,因為物件模式 String(1) 未指定要訪問 String 的哪個 getter 並與值 1 進行比較

dart
void f(Object o) {
  if (o case String(1)) {}
}

常見修復

#

新增 getter 名稱以訪問值,後跟冒號,再跟要匹配的模式

dart
void f(Object o) {
  if (o case String(length: 1)) {}
}