簡體   English   中英

如何在反序列化中檢查對象是否已更改屬性C#

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM