說,我寫了一個類ClassA的。它運作良好,直到有一天我希望監控房地產價值變化並對變化做出反應。最快的方法是什麼?快速監控給定類的屬性值更改的方法?
我可以想到的一種方法:make ClassA繼承INotifyPropertyChanged,並修改屬性getter/setter以觸發PropertyChanged事件,並在事件觸發時執行某些操作。
但是,如果ClassA有10個要監視的屬性,這可能意味着tedius代碼更改。
有沒有更多的elegent方式包裝或修改A類,這樣我就可以掛鉤一些反應邏輯?
幻想:可以通過屬性做到這一點?也許完全是無稽之談,我寫了一個屬性,我只需要將此屬性添加到我希望監視的屬性中。這比添加/修改getters/setters更好。你可能想看看
屬性意味着自己很少;你需要額外的代碼(無論是在編譯時還是在運行時)尋找這個屬性並且實際上做了一些事情(例如,生成一個通知代理,插入IL來引發'PropertyChanged'事件等等)。讓我翻轉但問題是:在什麼情況下,對類別屬性的監控會成爲「驚喜」?你能做一些預先的設計工作,以便你提前知道,並且可以相應地進行編碼嗎? – dlev
看看[這](http://stackoverflow.com/questions/4352537/replace-property-setter-method-at-runtime)線程。 – Mir
邊注:有些人會認爲「具有屬性的10S級」是代碼味道......也許重構類會導致性能的更合理一些,這將是確定,只是手動執行通知。 –