apply 静态方法
使用指定的参数动态调用 function
。
与动态调用 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,则被视为空列表。如果省略或为 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]);