如何通过 C# 实现对象的变更跟踪 ?
生活随笔
收集整理的這篇文章主要介紹了
如何通过 C# 实现对象的变更跟踪 ?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
咨詢區(qū)
user137348
我有一個(gè)類包含五個(gè)屬性,如果任何一個(gè)屬性被改變,我希望這個(gè)類中的另一個(gè)屬性(IsDirty)會(huì)被自動(dòng)變更,比如下面的類。
public?class?Class1 {bool?IsDIrty?{get;set;}string?Prop1?{get;set;}string?Prop2?{get;set;}string?Prop3?{get;set;}string?Prop4?{get;set;}string?Prop5?{get;set;} }回答區(qū)
Shimmy Weitzhandler
在 .NET Standard 2.0 中已經(jīng)提供了 IChangeTracking 和 IRevertibleChangeTracking 接口可以幫助你實(shí)現(xiàn)對(duì)象的變更跟蹤,接口實(shí)現(xiàn)如下:
IChangeTracking
IRevertibleChangeTracking
可以看到,上面這種方式是可以實(shí)現(xiàn)的,但需要人工一行一行的鍵入,如何字段特別多的話,工作量還是非常大的,作為另一個(gè)選擇,我建議你使用 TrackerDog 這樣的開源工具包,它可以幫你一鍵生成模板,你只需要提供 POCO 類即可。
點(diǎn)評(píng)區(qū)
這種類屬性的變更通知,我記得 WPF 中就提供了 INotifyPropertyChanged 接口來(lái)實(shí)現(xiàn)這種 MVVM 的雙向綁定,確實(shí)這也是一個(gè)非常實(shí)用的特性,學(xué)習(xí)了。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的如何通过 C# 实现对象的变更跟踪 ?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kubernetes应用程序开发认证(C
- 下一篇: C#实现网页加载后将页面截取成长图片 |