如何传递函数在Kotlin中运行

我想要传递一个或多个函数到一个函数,但只要它是一个函数文字或一个包函数它正在工作,但是当我将其更改为特定类(成员函数)的函数时,我有以下问题

假设我有这两个功能

fun foo() { //doSomething } fun bar(function: () -> Unit) { //anotherThing! function() } 

当我打电话

 bar(foo()) 

要么

 bar(::foo) 

我遇到类型不匹配(必需:() – >单元,找到:单元)

注意:我不想这样解决

 bar( { foo() } ) 

要么

 bar { foo() } 

至于第二个1.0 Beta候选版本,你不能传递成员函数。

我建议为KT-6947投票。

我刚刚检查过你的例子。 这对我很有用。 Kotlin版本1.0.0-beta-2423

代码在想法