在 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)