是否有一种简单的方法可以通过null检查调用该函数?
Function(String) onTextReady;
是否有一种简单的方法可以安全地调用此函数。 例如,在Kotlin中,我将使用invoke:
onTextReady?.invoke('Hello world');
我尝试了onTextReady?.('Hello world');
,但Dart不支持。
答案 0 :(得分:2)
好,简短的回答,不(与接线员联系)。 Dart中可识别空值的 review.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=com.xxxx.packageName"));
startActivity(intent);
}
});
运算符仅适用于成员调用对象,而不能直接对函数执行进行空值检查。
在这种情况下,它可以工作:
?.
您需要手动对其进行检查(!= null)以确保其为null安全:
class MyClass {
Function(String s) onTextReady = (s) => print(s);
}
main() {
var nullObject;
nullObject?.onTextReady('null'); // do nothing
var notNull = MyClass();
notNull?.onTextReady('not null'); // print 'not null'
}