作爲我第一次進入Dynamic Scala領域,我認爲我會嘗試通過applyDynamic來訪問bean屬性。字段干擾Scala動態特徵的方法解析?
我的頭很粗剪是
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)
編譯器抱怨,試圖改爲訪問名爲背景的字段,而不是合成方法。
variable background in class Component cannot be accessed in javax.swing.JTextField with BeanPropertiesTest.this.BeanProperties
這是設計,疏忽還是計劃修復的東西?斯卡拉郎郵件列表上
它似乎有點隱藏的興趣,但沒有人有任何想法 - 而斯卡拉郵件列表是好奇地沉默。 – 2011-06-03 13:18:17