pattern_assignment_not_local_variable
模式賦值只能對區域性變數進行賦值。
描述
#當模式賦值(pattern assignment)將值賦給非區域性變數時,分析器會產生此診斷。模式不能賦給欄位或頂層變數。
示例
#如果使用模式解構能使程式碼更清晰,那麼重寫程式碼,在模式宣告中將值賦給區域性變數,然後單獨賦給非區域性變數。
dart
class C {
var x = 0;
void f((int, int) r) {
(x, _) = r;
}
}常見修復
#如果使用模式賦值能使程式碼更清晰,那麼重寫程式碼,將值賦給區域性變數,然後單獨賦給非區域性變數。
dart
class C {
var x = 0;
void f((int, int) r) {
var (a, _) = r;
x = a;
}
}如果不用模式賦值程式碼更清晰,那麼重寫程式碼以不使用模式賦值。
dart
class C {
var x = 0;
void f((int, int) r) {
x = r.$1;
}
}