我已經做了一些搜索(並且大部分已經完成了深入的C#),但沒有遇到我期待的內容。didset檢測任何字段?
我很好奇,但如果有一種方法(hacky是好的!),我可以從一個類的任何設置操作獲得通用通知或鉤子。
原因是我正在研究一個框架,將應用程序的狀態保存爲一個類。當狀態發生變化時,我想要通知它。
在每個可能的字段中設置一個didSet
(即在每個setter調用中發出警報)是單調乏味的矯枉過正。你知道有什麼方法可以在任何時候在課堂上改變場地嗎?
更新1
通過@thehennyy一個偉大的建議是看PostSharp。下面是其中突出它做什麼視頻:通過@Mattias阿斯倫德建議https://vimeo.com/143656221
更新2
開源MIST。
是指字段或屬性? – thehennyy
那麼你創建一個領域的財產。我可以創建引發我需要的事件的屬性,但這就是爲什麼我好奇如果我能夠做到這一點的一種通用方式,而不必爲每個字段創建特定屬性來獲取更改通知。 – Aggressor
當您直接訪問該字段時,沒有辦法。當你使用一個屬性來訪問它時,確定你可以在屬性setter/getter中實現代碼。我建議看看PostSharp,沒有內置的解決方案來做到這一點。 – thehennyy