2011-06-01 35 views
4

作爲我第一次進入Dynamic Sc​​ala領域,我認爲我會嘗試通過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 

這是設計,疏忽還是計劃修復的東西?斯卡拉郎郵件列表上

+0

它似乎有點隱藏的興趣,但沒有人有任何想法 - 而斯卡拉郵件列表是好奇地沉默。 – 2011-06-03 13:18:17

回答

0

回答馬丁·奧德斯基

我想這應該由動態出來-Xexperimental的時間是固定的。