[Kotlin][最佳实践] Kotlin中参数函数的参数中如何传递receiver对象
[Kotlin][Best Practice] How to pass receiver object in parameter function's parameter in Kotlin
我有以下代码:
internal data class DataClass(
val name: String
)
internal fun DataClass.defineService() {
//Some code
val config = this
return SomeOtherClassB.someAPI() { () ->
createService(config)
}
}
internal fun SomeOtherClassA.createService(
config: DataClass
){
//Some code
}
将 DataClass 从 defineService()
传递到 createService()
的最佳方法是什么?我不想分配 val config = this
,感觉不对。
你可以跳过中间变量,把createService(this@defineService)
。这允许您指定 this
的范围 defineService
.
What's the best way to pass DataClass from defineService() to createService()?
使用 qualified this 语句:
internal fun DataClass.defineService() {
//Some code
return SomeOtherClassB.someAPI() { () ->
createService(this@defineService)
}
}
我有以下代码:
internal data class DataClass(
val name: String
)
internal fun DataClass.defineService() {
//Some code
val config = this
return SomeOtherClassB.someAPI() { () ->
createService(config)
}
}
internal fun SomeOtherClassA.createService(
config: DataClass
){
//Some code
}
将 DataClass 从 defineService()
传递到 createService()
的最佳方法是什么?我不想分配 val config = this
,感觉不对。
你可以跳过中间变量,把createService(this@defineService)
。这允许您指定 this
的范围 defineService
.
What's the best way to pass DataClass from defineService() to createService()?
使用 qualified this 语句:
internal fun DataClass.defineService() {
//Some code
return SomeOtherClassB.someAPI() { () ->
createService(this@defineService)
}
}