Dart 空感知函数调用运算符

Dart 空感知函数调用运算符,dart,nullable,Dart,Nullable,以同样的方式,我们可以 nullableClassInstance?方法(blah) 有办法吗 nullableFunctionInstance?(废话) 换句话说,是否有运算符检查函数实例是否为空,如果为空,请在一行中调用函数?使用,您可以通过以下方式实现所需: nullableFunctionInstance?.call(废话) 如果你想传递参数,还有一个方法。如果你有一个函数对象,你可以使用调用方法将所有参数发送到与调用函数完全相同的地方。在这里,您可以使用空感知成员访问操作符 vo

以同样的方式,我们可以

nullableClassInstance?方法(blah)
有办法吗

nullableFunctionInstance?(废话)
换句话说,是否有运算符检查函数实例是否为空,如果为空,请在一行中调用函数?

使用,您可以通过以下方式实现所需:

nullableFunctionInstance?.call(废话)

如果你想传递参数,还有一个方法。

如果你有一个函数对象,你可以使用
调用
方法将所有参数发送到与调用函数完全相同的地方。在这里,您可以使用空感知成员访问操作符

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

var myVar = myFun ;
呼叫 函数myVar只有在其不为null时才会被调用,如下所示

myVar?.call( arg1 , arg2 );
应用 如果您的函数是动态的,或者希望控制在运行时调用哪个函数,您可以使用
function
apply
static方法,如下所示:

Function.apply(myVar , [arg1 , arg2]);
apply
获取函数和将发送到函数的参数列表


阅读更多关于和的信息:

但是我必须将我的函数包装在一个可调用类中,或者我误解了这一点?对类型为“void Function(int)”的变量调用“call”或“apply”会引发编译器错误,请参见