的声明
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); }}
效果是完全一样的,它只允许您为函数类型使用一个较短的名称,但这仅在您经常使用时才有意义。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)