missing_named_pattern_field_name
getter の名前が明示的に指定されておらず、パターンが変数ではない場合。
説明
#オブジェクトパターン内で、プロパティの指定とプロパティの値に一致させるために使用されるパターンに、以下のいずれかが欠けている場合に、アナライザーはこの診断を生成します。
- コロンの前にgetter の名前がある
- getter の名前を推論できる変数パターンがある
例
#以下のコードは、オブジェクトパターン (C(:0)) でコロンの前にgetter の名前がなく、コロンの後に変数パターンがないため、この診断を生成します。
dart
abstract class C {
int get f;
}
void f(C c) {
switch (c) {
case C(:0):
break;
}
}一般的な修正
#パターンスコープ内でプロパティの実際の値を使用する必要がある場合は、マッチングされるプロパティの名前と同じ名前の変数を持つ変数パターンを追加してください。
dart
abstract class C {
int get f;
}
void f(C c) {
switch (c) {
case C(:var f) when f == 0:
print(f);
}
}パターンスコープ内でプロパティの実際の値を使用する必要がない場合は、マッチングされるプロパティの名前をコロンの前に追加してください。
dart
abstract class C {
int get f;
}
void f(C c) {
switch (c) {
case C(f: 0):
break;
}
}