Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将函数传递给Kotlin中的函数_Kotlin - Fatal编程技术网

如何将函数传递给Kotlin中的函数

如何将函数传递给Kotlin中的函数,kotlin,Kotlin,我想将一个或多个函数传递给一个函数,但只要它是一个函数文本或一个包函数,它就可以工作,但当我将它更改为特定类(成员函数)的函数时,我有以下问题 假设我有这两个函数 fun foo() { //doSomething } fun bar(function: () -> Unit) { //anotherThing! function() } 当我打电话时 bar(foo()) 或 我遇到了类型不匹配的问题 (必需:()->单位,找到:单位) 注意:我不想这样解决它

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

假设我有这两个函数

fun foo() { //doSomething }
fun bar(function: () -> Unit) { 
    //anotherThing! 
    function()
}
当我打电话时

bar(foo()) 

我遇到了类型不匹配的问题 (必需:()->单位,找到:单位)

注意:我不想这样解决它

bar( { foo() } )


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


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


在Kotlin 1.1及更高版本中,您可以使用。e、 g.
条(::foo)


在和其他早期版本中,无法传递成员函数。此问题在Kotlin 1.1和更高版本中跟踪为。

,您可以使用。e、 g.
条(::foo)


在和其他早期版本中,无法传递成员函数。此问题被跟踪为。

此功能尚未实现,请看它是否对我有效--它是否是foo成员乐趣?是的,它是一个成员函数(我知道它对包函数有效)好吧,让我们来解决这个问题。此功能尚未实现,请看它是否对我有效--它是否是foo成员乐趣?是的,它是一个成员函数(我知道它对包函数起作用)好吧,让我们来解决这个问题。我忘了说我想传递的函数可以是成员函数,否则你是对的。我忘了说我想传递的函数可以是成员函数,否则你是对的
bar( { foo() } )
bar {
foo()
}