跳到主要内容

switch_on_type

避免对“Type”使用 switch 语句。

描述

#

当对 Type 的值或 TypetoString 调用使用 switch 语句或 switch 表达式时,分析器会生成此诊断信息。

示例

#

以下代码会生成此诊断信息,因为 switch 语句用于 Type

dart
void f(Object o) {
  switch (o.runtimeType) {
    case const (int):
      print('int');
    case const (String):
      print('String');
  }
}

常见修复

#

请改用对变量进行模式匹配

dart
void f(Object o) {
  switch (o) {
    case int():
      print('int');
    case String():
      print('String');
  }
}