[英]How to check if an object has changed property in deserialisation c#
我正在使用JsonConvert
每15秒從我的api中獲取數據。
該數據將進入可觀察的集合,該集合在此處為類型。
我無法使用TrulyObservableCollection
因為每隔15秒我將api分配給集合,如下所示:
collection = JsonConvert.DeserializeObject<ManifestJSON>(uri)
有沒有一種方法可以檢查DeserializeObject中的現有對象是否已更改,以便可以修改我的集合?
因此,我可以使用.Add
和.Remove
而不是覆蓋集合。
這取決於您的JSON格式(很明顯,如果您的消息中包含日期,則該日期將無效); 但一種可能是在反序列化原始JSON之前對其進行比較。 這當然不是萬無一失的,但是如果您從同一個源讀取流,則可以進行字符串比較。
您可以遍歷集合並比較對象。
如果找到匹配項,則更新相應的對象,如果不匹配,則從數據綁定的源集合中添加或刪除它。
您可以在后台線程上執行實際的迭代,以保持應用程序的響應速度,但是仍然需要從UI線程上的源集合中添加/刪除項目,因此從性能的角度來看,這樣做可能毫無意義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.