相关疑难解决方法(0)

获取非包扩展属性的KProperty

在kotlin中,您可以使用引用运算符来获取包扩展属性的KProperty,如下所示:

val String.extProp: String
    get() = "Some get code"

fun foo() {
    val prop: KProperty<String> = String::extProp
}
Run Code Online (Sandbox Code Playgroud)

但是,当在类中声明扩展属性时,引用运算符不再起作用:

class Example() {

    val String.extProp: String
        get() = "Some get code"

    fun foo() {
        val prop: KProperty<String> = String::extProp // error
    }

}
Run Code Online (Sandbox Code Playgroud)

所以我想知道的是如何在第二个例子中更改有问题的行,所以KProperty得到了什么?

kotlin

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

标签 统计

kotlin ×1