目次

暗黙的呼び出しティアオフ

オブジェクトを関数として使用する場合、`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