跳到主要内容

no_runtimeType_toString

稳定

避免在 runtimeType 上调用 toString()

详情

#

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

错误示例

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

正确示例

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

此 lint 规则在某些性能不是问题,或者真实类型信息比性能更重要的情况下有一些例外

  • 在断言中
  • 在 throw 表达式中
  • 在 catch 子句中
  • 在 mixin 声明中
  • 在抽象类声明中

启用

#

要启用 no_runtimeType_toString 规则,请在您的 analysis_options.yaml 文件中的 linter > rules 下添加 no_runtimeType_toString

analysis_options.yaml
yaml
linter:
  rules:
    - no_runtimeType_toString

如果您改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 no_runtimeType_toString: true

analysis_options.yaml
yaml
linter:
  rules:
    no_runtimeType_toString: true