我目前正在使用 Delphi XE2,并听说了他们在 XE3 中使用自动更新的新实时绑定(无需像在 XE2 中那样调用 Notify())。
在 C# 或 Delphi XE2 中,我们必须实现INotifyPropertyChanged
(Notify();
在 Delphi 中),这种方法非常有意义,因为我们可以完全控制要更新的内容以及何时更新它,这样我们就可以微调性能并轻松实现虚拟化。
但我只想知道它是如何工作的,他们为了实现它做了什么样的机制,我不知道他们是如何做到的,以下是可能用于实现自动更新的假设。
Timer : 一个计时器频繁滴答并刷新所有数据
性能非常慢,没有虚拟化
编译器级别功能:
notify() events
编译器自动执行的所有相关代码很多过头
其他一些方法:
请帮助我确定他们是如何实施它的。
我目前正在使用 XE3 试用版,因此无法访问源代码,您的回答将帮助我决定是否切换到新功能。
我有一个类(集合项),它有 400 个要绑定的属性(并非一直都是),所以性能确实对我的应用程序的稳定性起着重要作用。