implicit_ call_ tearoffs
Learn about the implicit_call_tearoffs linter rule.
Explicitly tear-off call methods when using an
object as a Function.
Details
#
DO
Explicitly tear off .call methods from objects
when assigning to a Function type. There is less magic with an
explicit tear off. Future language versions may remove the
implicit call tear off.
BAD:
class Callable {
void call() {}
}
void callIt(void Function() f) {
f();
}
callIt(Callable());
GOOD:
class Callable {
void call() {}
}
void callIt(void Function() f) {
f();
}
callIt(Callable().call);
Enable
#
To enable the implicit_call_tearoffs rule, add
implicit_call_tearoffs under
linter > rules in your
analysis_options.yaml
file:
linter:
rules:
- implicit_call_tearoffs
If you're instead using the YAML map syntax to configure
linter rules, add
implicit_call_tearoffs: true under
linter > rules:
linter:
rules:
implicit_call_tearoffs: true
除非另有说明,文档之所提及适用于 Dart 3.12.2 版本报告页面问题.