gpt4 book ai didi

data-binding - 关于 Scala 字段和属性更改事件

转载 作者:行者123 更新时间:2023-12-04 05:14:30 24 4
gpt4 key购买 nike

作为 this question 的后续行动关于 Scala 的 @BeanProperty 生成更改事件:完全实现使用某些自定义注释(例如 @Property)注释 var 字段将生成触发属性更改事件所需的代码的行为需要什么?唯一的方法是编写一个编译器插件,对吧?

更一般地说:在 Scala 的编译器中是否有一种标准方法(如 Java)来处理注释?

最佳答案

可以使用代理来执行此操作,就像在 Java 中一样,可能涉及 cglib 或类似工具。编译器插件也可以做到这一点(正如您所说的那样),但如果您编写的不是通用库,则可能有点矫枉过正!

一个更好的解决方案是手动编写 getter 和 setter 方法,以便它们发出这些事件,如果您担心保持代码干净,那么这些总是可以移到特征中。


对于解决问题的稍微不同的方法,Naftoli Gugenhem 有一个 "reactive" library on GitHub有助于功能响应式(Reactive)编程,可以说是比可观察属性的事件驱动模型更好的范例。

ObservableBuffer class是开始寻找的好地方。

关于data-binding - 关于 Scala 字段和属性更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4956141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com