有关联用户代码吗?



在MDriven中,可以为属性设置HasUserCode,以生成钩子方法,例如,当属性即将更改时调用。

对于几个关联,或者更准确地说:对于几个链接角色,我需要类似的能力。

例如,对于链接角色MyClass.RelatedThing我想在有人执行myClassObj.RelatedThing = thatThing;myClassObj.RelatedThing = null;时执行操作。

我需要它的所有链接角色都是单链接,但很高兴知道如何为多链接完成它。

我已经插入了一个单独的缓存,它在属性和链接更改时执行操作,但我不喜欢将此功能放在这样的中心位置,因为它只涉及几个特定的类和链接角色,而缓存是一个全局"事物"。

HasUserCode在关系方面的问题是它不是万无一失的。由于您可以在两端设置关系,因此当通过添加到其另一端隐式设置单个链接端时,就会开始混淆。

这种混乱造成了如此多的不确定性,以至于我们从关联发送中删除了 HasUserCode 选项。

一种选择是分配需要跟踪的对象/类的 PropertyChangedEventHandler PropertyChanged 事件。

请注意,这是 .net INotifyPropertChange 策略,它不允许您停止分配 - 但您将看到它已经发生。

最新更新