INotifyPropertyChanged 是相当不言自明的,我想我很清楚何时提高那个(即当我完成更新值时)。
如果我实现 INotifyPropertyChanging,我倾向于在进入更改对象状态的设置器或其他方法后立即引发事件,然后继续进行可能发生的任何防护和验证。
因此,我将此事件视为属性可能更改但尚未更改的通知,并且可能实际上并未成功完成更改。
如果对象的使用者正在使用此属性(例如,假设 LINQ to SQL 使用事件进行更改跟踪),我是否应该推迟并仅在我确认我得到的值是好的并且只引发事件时对象的状态是否对更改有效?
此事件的合同是什么,订阅者会有什么副作用?