内容

no_runtimeType_toString

避免在 runtimeType 上调用 toString()

此规则从 Dart 2.8 开始可用。

详情

#

在运行时类型上调用 toString 是一个非平凡的操作,可能会对性能产生负面影响。 最好避免这样做。

错误

dart
class A {
  String toString() => '$runtimeType()';
}

正确

dart
class A {
  String toString() => 'A()';
}

此 lint 有些例外情况,在这些情况下,性能不是问题,或者类型信息比性能更重要。

  • 在断言中
  • 在抛出表达式中
  • 在 catch 子句中
  • 在混合声明中
  • 在抽象类声明中

用法

#

若要启用 no_runtimeType_toString 规则,请在 analysis_options.yaml 文件中将 no_runtimeType_toString 添加到 **linter > rules** 下。

analysis_options.yaml
yaml
linter:
  rules:
    - no_runtimeType_toString