【发布时间】:2019-03-24 08:26:30
【问题描述】:
在以下工作代码中删除 myScope(第 4 行)的 private 修饰符将破坏代码。原因是myScope 的类型不断变化。可见性是否设置为private,类型为:anonymous object : Scope。如果没有private,类型将切换为Scope。如何解决此问题?
interface Scope
operator fun<SD: Scope> SD.invoke(block: SD.() -> Unit) = block()
private val myScope = object : Scope {
fun Int.myScopedExtFunction() = 1337
}
fun usage() {
myScope {
1.myScopedExtFunction()
}
}
【问题讨论】:
标签: kotlin extension-methods class-visibility