apply 静态方法
使用指定的参数动态调用 function
。
与使用与 positionalArguments
元素对应的参数和与 namedArguments
元素对应的命名参数动态调用 function
的行为相同。
包括如果 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,则视为空列表。如果省略或为 null 的 namedArguments
,则视为空映射。
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]);