constant_pattern_with_non_constant_expression
常量模式的表达式必须是有效的常量。
描述
#当常量模式的表达式不是有效的常量时,分析器会生成此诊断信息。
示例
#以下代码会生成此诊断信息,因为常量模式 i
不是常量
dart
void f(int e, int i) {
switch (e) {
case i:
break;
}
}
常见修复方法
#如果需要匹配的值已知,则将表达式替换为常量
dart
void f(int e, int i) {
switch (e) {
case 0:
break;
}
}
如果需要匹配的值未知,则重写代码,不使用模式
dart
void f(int e, int i) {
if (e == i) {}
}