看板 C_Sharp 關於我們 聯絡資訊
一直以來, 我都在 ViewModel 如此實作 Data Binding Logic int _data0; public int Data0 { get { return _data0; } set { _data0 = value; RaisePropertyChanged("Data0"); } } int _data1; public int Data1 { get { return _data1; } set { _data1 = value; RaisePropertyChanged("Data1"); } } 開始學習時讀了幾個範例也都是這樣寫 並由 ViewModel base class 來實作 RaisePropertyChanged() 想請教一個沒事找事做的問題... 怎樣把 data binding logic 寫得更加簡潔, 更加優雅 讓宣告 binded data 時, 不用每次在 setter (or mutator) 都再寫一次 RaisePropertyChanged() 小弟第一個念頭是用 generic type 改寫, 即 public class BindedData<T> { ... } 但我寫完盯了它看幾分鐘後就覺得好醜 囧 後來陸續天花亂墜想了用 hash table, reflection 等等的 但這些都要在執行時期轉型, 我認為這對於 performance 傷害太大 所以想請教各位先進可否指教些寫法 謝謝 <(_ _)> -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.42.60 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1439139925.A.BEB.html
ssccg: 寫個plugin幫你產生你不想自己寫的code 08/10 02:28
fo40225: T4? 08/10 21:53
Litfal: 哪些屬性要加、哪些不加? 08/11 19:53