小编MrC*_*mly的帖子

在 Kotlin 中,当变量与 lambda 接收器中的字段同名时,如何从作用域函数外部引用变量

在 Kotlin 中,使用“with”等作用域函数允许 this块内的引用引用 lambda 结果,当外部类成员与结果中的字段之一同名时,是否可以引用外部类成员?

例如

data class Person(name: String)
...
class MyClass {
    var name = ""

    with(personRepository.getPerson(personId)) {
        // How do we set the class "name" member - "this.name" or just "name" refers to the scoped object?
        name = this.name // ???
    }
Run Code Online (Sandbox Code Playgroud)

显然,使用不同的变量名称是简单的解决方法,但只是想知道当变量具有相同名称时是否有语法

class MyClass {
    var personName = ""
...
    with(personRepository.getPerson(personId)) {
        personName = this.name
    }
Run Code Online (Sandbox Code Playgroud)

android kotlin

4
推荐指数
1
解决办法
1767
查看次数

标签 统计

android ×1

kotlin ×1