将带有参数的函数传递给VoidCallback

将带有参数的函数传递给VoidCallback,第1张

将带有参数函数传递给VoidCallback

的声明

VoidCallback

typedef void VoidCallback();

这是可以使用零参数调用并且不会返回有用值的函数类型。那似乎不是您想要的。由于该程序在语法上无效,因此尚不清楚您要做什么,但这对您有用吗:

class MyClass {   static doSomething(int i) {  }  MyOtherClass myOtherClass = new MyOtherClass(doSomething);}class MyOtherClass {  final void Function(int) callback;  MyOtherClass(this.callback);  void callCallaback() { callback(5); }}

在这里,我们将

callback
字段的类型定义为可以使用一个整数参数调用并且不返回任何有用值的函数的类型。该
doSomething
方法具有该类型,因此可以将其分配给
callback

您也可以使用typedef命名该函数:

typedef Int2VoidFunc = void Function(int);// or: typedef void Int2VoidFunc(int arg);class MyOtherClass {  final Int2VoidFunc callback;  MyOtherClass(this.callback);  void callCallaback() { callback(5); }}

效果是完全一样的,它只允许您为函数类型使用一个较短的名称,但这仅在您经常使用时才有意义。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5008434.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存