Kotlin:如何用变量指定一个命名的辩论者?

Evg*_*aev 0 kotlin

假设我有两种方法:

    private fun method1(a: A): A {
        return a.copy(v1 = null)
    }

    private fun method2(a: A): A {
        return a.copy(v2 = null)
    }
Run Code Online (Sandbox Code Playgroud)

我可以这样写吗:

    private fun commonMethod(a: A, variableToChange: String): A {
        return a.copy($variableToChange = null)
    }
Run Code Online (Sandbox Code Playgroud)

换句话说,我可以使用变量来引用命名参数吗?

Chr*_*ich 5

如果我正确理解您要归档的内容,建议将setter传递给该方法,例如

fun <A>  changer (a: A, setter: (a: A) -> Unit ) {
    // do stuff
    setter(a)
}

Run Code Online (Sandbox Code Playgroud)

这是你想要的?