问题标签 [kotlin-delegate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
135 浏览

kotlin - 为什么委托类方法 getValue 和 setValue 需要用 operator 关键字标记?

这是Delegated properties文档中的一个示例。

0 投票
1 回答
110 浏览

kotlin - 实现也可以在 Kotlin 中序列化的可观察属性

我正在尝试构建一个类,其中某些值是可观察的但也是可序列化的。

这显然有效并且序列化有效,但是必须为每个字段添加一个 setter 并且必须change(...)在每个 setter 内手动调用,这是非常繁重的样板:

println(BlahVO().apply { value2 = "test2" }) 正确输出

我试过介绍代表:

println(BlahVO().apply { value1 = "test1" })正确触发更改检测,但不会序列化:

如果我从 Observable 转到 ReadWriteProperty,

结果是一样的:

对于 Delegates.vetoable 也是如此

输出:

代表似乎不适用于 Kotlin 序列化

还有哪些其他选项可以在不破坏其序列化的情况下观察属性的变化,这些选项也可以在其他平台(KotlinJS、KotlinJVM、Android...)上运行?

0 投票
2 回答
51 浏览

kotlin - 使用 DefaultValue 委派映射的 Kotlin 问题 - 语言错误?

在下面的代码中,其中MyMap简单地实现Map by了委托impl

为什么我在第二个 println 上收到以下错误?

更新:编译器和运行时版本输出是: