1

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

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

例如,对于 linkrole,MyClass.RelatedThing我想在有人执行myClassObj.RelatedThing = thatThing;myClassObj.RelatedThing = null;.

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

我已经插入了一个单独的缓存,它在属性和链接发生更改时执行操作,但我不喜欢把这个功能放在这样的中心位置,因为它只涉及几个特定的​​类和链接角色,而缓存是一个全球性的“东西”。

4

1 回答 1

1

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

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

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

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

于 2020-01-07T11:18:32.837 回答