Kotlin:如何调用super的扩展功能?

Jir*_*ire 5 extension-methods kotlin extension-function

如何调用超级的扩展功能?

例如:

open class Parent {
    open fun String.print() = println(this)
}

class Child : Parent() {
    override fun String.print() {
        print("child says ")
        super.print() // syntax error on this
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 3

尽管该print()函数是在 内部定义的Parent,但它属于String,而不是属于Parent。因此,没有任何print可以调用的函数Parent,而这正是您想要执行的操作super

我认为 Kotlin 中没有对您尝试执行的调用类型的语法支持。