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