Generics 是否可以重新创建kotlin.Function接口的行为以具有多个参数?

Generics 是否可以重新创建kotlin.Function接口的行为以具有多个参数?,generics,kotlin,Generics,Kotlin,当我们想要使用接口kotlin.Function时,可以执行以下操作: import kotlin.Function1 import kotlin.Function2 ....................... import kotlin.FunctionN val func2 : Function2<Int, Int, String> = {i1, i2 -> "$i1 + $i2 = ${i1+i2}"} 然后我们可以创建函数n,如下所示: val funcN :

当我们想要使用接口
kotlin.Function
时,可以执行以下操作:

import kotlin.Function1
import kotlin.Function2
.......................
import kotlin.FunctionN
val func2 : Function2<Int, Int, String> = {i1, i2 -> "$i1 + $i2 = ${i1+i2}"}
然后我们可以创建
函数n
,如下所示:

val funcN : FunctionN<Type1, Type2, ..., TypeN+1> = {t1, t2, ..., tN -> tN+1}

因此,我假设他们在其他地方发挥了所有的魔力,我想知道是否有人知道是否有可能做到这一点,也许可以提供一些关于如何做到这一点的信息。

他们不是动态地做到这一点,他们只是对每个数字有一个单独的功能,就是这样


无法访问类或接口的动态参数计数行为。你可以通过varargs,但这不是你想要的。但是,您可以尝试使用代码生成、intellij idea或注释处理来实现非常类似的功能

它们并不是动态的,它们只是对每个数字有一个单独的函数,就是这样

无法访问类或接口的动态参数计数行为。你可以通过varargs,但这不是你想要的。但是,您可以尝试使用代码生成、intellij idea或注释处理来实现非常类似的功能

看这里:看这里:
/**
 * Represents a value of a functional type, such as a lambda, an anonymous function or a function reference.
 *
 * @param R return type of the function.
 */
public interface Function<out R>