gpt4 book ai didi

scala - 干扰 Scala 动态特征的方法解析的字段?

转载 作者:行者123 更新时间:2023-12-01 04:11:12 28 4
gpt4 key购买 nike

作为我第一次涉足 Dynamic Sc​​ala 领域,我想我会尝试通过 applyDynamic 访问 bean 属性。

我的第一个非常粗略的剪裁是

trait BeanProperties extends Dynamic {
def applyDynamic(name: String)(args: Any*) = {
if (args.length == 0)
PropertyUtils.getProperty(this, name)
else
null
}
}

以便
val bean = new JTextField("text") with BeanProperties
bean.getText should equal("text")
bean.text should equal("text")

到目前为止,一切都很好!但是当我尝试
bean.background should equal(bean.getBackground)

编译器提示,试图访问名为 background 的字段而不是合成方法。
variable background in class Component cannot be accessed in javax.swing.JTextField with BeanPropertiesTest.this.BeanProperties

这是设计使然,疏忽还是计划修复的事情?

最佳答案

FWIW,我为此提出了修复方案 https://github.com/scala/scala/pull/98

如果它被接受,那么它确实会在 Dynamic 从 -Xexperimental 出来时得到修复。

关于scala - 干扰 Scala 动态特征的方法解析的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6197804/

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