目录

implicit_call_tearoffs

当使用对象作为函数时,显式地撕裂 call 方法。

此规则自 Dart 2.19 起可用。

规则集:core, recommended, flutter

此规则具有可用的快速修复

详情

#

请务必在将对象分配给函数类型时,显式地撕裂对象的 .call 方法。 显式撕裂减少了魔法。 未来的语言版本可能会移除隐式调用撕裂。

错误

dart
class Callable {
  void call() {}
}
void callIt(void Function() f) {
  f();
}

callIt(Callable());

正确

dart
class Callable {
  void call() {}
}
void callIt(void Function() f) {
  f();
}

callIt(Callable().call);

用法

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - implicit_call_tearoffs