HasUserCode 用于关联?
HasUserCode for associations?
在 MDriven 中,可以为属性设置 HasUserCode
,以生成调用的挂钩方法,例如即将更改属性时。
对于几个关联,或者更准确地说:对于几个链接角色,我需要类似的能力。
例如,对于 linkrole MyClass.RelatedThing
我想在有人 myClassObj.RelatedThing = thatThing;
或 myClassObj.RelatedThing = null;
.
时执行某个操作
我需要这个的所有链接角色都是单链接,但如果知道如何为多链接完成它会很高兴。
我已经插入了一个单独的缓存,它在属性和链接发生变化时执行操作,但我不喜欢将此功能放在那样的中心位置,因为它只涉及一些特定的 类 和 linkroles,而缓存是全局的 "thing".
HasUserCode 的关系问题在于它不是万无一失的。由于您可以在两端设置关系,因此当通过添加到另一端来隐式设置单个 link 端时,混淆就开始了。
这种混淆导致了太多的不确定性,以至于我们从 associationsends 中删除了 HasUserCode 选项。
一个选项是分配您需要跟踪的 object/classes 的 PropertyChangedEventHandler PropertyChanged 事件。
请注意,这是 .net INotifyPropertChange 策略,它不允许您停止分配 - 但您会看到它已经发生。
在 MDriven 中,可以为属性设置 HasUserCode
,以生成调用的挂钩方法,例如即将更改属性时。
对于几个关联,或者更准确地说:对于几个链接角色,我需要类似的能力。
例如,对于 linkrole MyClass.RelatedThing
我想在有人 myClassObj.RelatedThing = thatThing;
或 myClassObj.RelatedThing = null;
.
我需要这个的所有链接角色都是单链接,但如果知道如何为多链接完成它会很高兴。
我已经插入了一个单独的缓存,它在属性和链接发生变化时执行操作,但我不喜欢将此功能放在那样的中心位置,因为它只涉及一些特定的 类 和 linkroles,而缓存是全局的 "thing".
HasUserCode 的关系问题在于它不是万无一失的。由于您可以在两端设置关系,因此当通过添加到另一端来隐式设置单个 link 端时,混淆就开始了。
这种混淆导致了太多的不确定性,以至于我们从 associationsends 中删除了 HasUserCode 选项。
一个选项是分配您需要跟踪的 object/classes 的 PropertyChangedEventHandler PropertyChanged 事件。
请注意,这是 .net INotifyPropertChange 策略,它不允许您停止分配 - 但您会看到它已经发生。