加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#:有没有办法轻松查找/更新对象的所有引用?

发布时间:2020-12-15 08:33:37 所属栏目:百科 来源:网络整理
导读:我一直在阅读Rockford Lhotka的“Expert C#2008 Business Objects”,其中有一个数据门户网站可以很好地抽象出数据的来源.当使用DataPortal.Update(this)时,正如您可能猜测的那样,将“this”持久存储到数据库中,将返回一个对象 – 持久化的“this”以及db对其
我一直在阅读Rockford Lhotka的“Expert C#2008 Business Objects”,其中有一个数据门户网站可以很好地抽象出数据的来源.当使用DataPortal.Update(this)时,正如您可能猜测的那样,将“this”持久存储到数据库中,将返回一个对象 – 持久化的“this”以及db对其所做的任何更改,例如.时间戳.

Lhotka经常写得非常随意,你必须确保将对旧对象的所有引用更新为新返回的对象.有道理,但有没有一种简单的方法来查找旧对象的所有引用并更改它们? GC显然跟踪参考文献,是否可以利用它?

干杯

解决方法

GC实际上并不跟踪对象的引用.相反,它计算从运行时的全局和堆栈对象开始可以访问哪些对象,并执行“泛洪填充”算法的某些变体.

特别针对您的问题,为什么不让代理保持对“真实”对象的引用?这样您只需要在一个地方更新.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读