Null感知函数调用操作符

时间:2017-07-10 21:53:20

标签: dart nullable

我们可以用同样的方式

nullableClassInstance?.method(blah)

有办法吗

nullableFunctionInstance?(blah)

换句话说,是否有一个运算符检查函数实例是否为空,如果是,则在一行中调用该函数?

2 个答案:

答案 0 :(得分:17)

使用call method,您可以实现您想要的目标:

nullableFunctionInstance?.call(blah)

答案 1 :(得分:6)

如果具有Function Object,则可以使用call方法并将所有参数发送到与调用函数完全相同的参数。在这里,您可以使用了解空值的成员访问运算符。

void myFun(int a , int b){...}

var myVar = myFun ;

通话

函数myVar仅在其不为null时才会被调用,如下所示。

myVar?.call( arg1 , arg2 );

应用

如果函数是动态的,或者希望控制运行时正在调用哪个函数,则可以像这样使用apply的{​​{1}}静态方法:

Function

Function.apply(myVar , [arg1 , arg2]); 接受函数和将发送到函数的参数apply

了解有关callapply的更多信息: