メインコンテンツにスキップ

implicit_call_tearoffs

安定版
コア
修正が利用可能です

関数としてオブジェクトを使用する際に、明示的にcallメソッドをティアオフしてください。

詳細

#

推奨:Function型に代入する際には、オブジェクトから.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

代わりにYAMLマップ構文を使用してリンタールールを設定している場合は、linter > rulesの下にimplicit_call_tearoffs: trueを追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    implicit_call_tearoffs: true