Метод apply
Динамически вызовите function со указанными аргументами.
Действует так же, как вызов функции с позиционными аргументами, соответствующими элементам positionalArguments и именованными аргументами, соответствующими элементам namedArguments.
Это включает в себя выдачу тех же ошибок, если function не является вызываемой или если она ожидает другие параметры.
Пример:
void printWineDetails(int vintage, {String? country, String? name}) {
print('Name: $name, Country: $country, Vintage: $vintage');
}
void main() {
Function.apply(
printWineDetails, [2018], {#country: 'USA', #name: 'Dominus Estate'});
}
// Output of the example is:
// Name: Dominus Estate, Country: USA, Vintage: 2018 Если positionalArguments равно null, то это считается пустым списком. Если namedArguments опущено или равно null, то это считается пустой картой.
void helloWorld() {
print('Hello world!');
}
void main() {
Function.apply(helloWorld, null);
}
// Output of the example is:
// Hello world! Реализация
external static apply(Function function, List<dynamic>? positionalArguments,
[Map<Symbol, dynamic>? namedArguments]);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-core/Function/apply.html