kotlin - Kotlin 中的扩展字段

在 Kotlin 中编写扩展方法很容易:

class A { }
class B {
    fun A.newFunction() { ... }
}

但是有什么方法可以创建扩展变量吗?喜欢:

class B {
    var A.someCounter: Int = 0
}

最佳答案

您可以使用重写的 getter 和 setter 创建扩展属性:

var A.someProperty: Int
  get() = /* return something */
  set(value) { /* do something */ }

但您无法创建带有支持字段的扩展属性,因为您无法将字段添加到现有类。

https://stackoverflow.com/questions/36502413/

相关文章:

java - Android Studio 3.0 金丝雀 1 : Kotlin tests or

android - IllegalArgumentException : Parameter spe

android - Kotlin Coroutines 在 Android 中的正确方式

arrays - 如何比较 Kotlin 中的两个数组?

kotlin - 如何在 Kotlin 中向 Java 类添加静态方法

arrays - 字符串数组文字?我如何简单地编码?

android - build.gradle 文件中的 compileKotlin block 抛出

kotlin - 为什么 Kotlin 需要在编译后捆绑其运行时?

kotlin - 为什么泛型类型属性可以为空?

kotlin - Dagger 和 Kotlin 。 Dagger 不生成组件类