switch_on_type
Details about the 'switch_on_type' diagnostic produced by the Dart analyzer.
Avoid switch statements on a 'Type'.
Description
#
The analyzer produces this diagnostic when a switch statement or switch
expression is used on either the value of a Type or a toString
call
on a Type.
Example
#
The following code produces this diagnostic because the switch statement
is used on a Type:
dart
void f(Object o) {
switch (o.runtimeType) {
case const (int):
print('int');
case const (String):
print('String');
}
}
Common fixes
#Use pattern matching on the variable instead:
dart
void f(Object o) {
switch (o) {
case int():
print('int');
case String():
print('String');
}
}
Was this page's content helpful?
除非另有说明,文档之所提及适用于 Dart 3.10.3 版本报告页面问题.