如何在不进行显式调用的情况下实现属性更改通知?

时间:2013-05-18 01:11:47

标签: c#-4.0 inotifypropertychanged

在WPF中存在双向数据绑定的概念,其中当在db中更新对象属性值时,框架还在实现INotifyPropertyChanged接口时更新视图。

我在C#中寻找类似这样的功能但不使用WPF。

场景是,当更新对象属性时,会向该对象的其他使用者发送一系列通知,通知他们属性更改。

所以流程是:

  1. 更新数据库
  2. 通知消费者1
  3. 通知消费者2
  4. 此过程需要三个单独的行。有没有办法实现更改属性的WPF概念,以更新消费者(比如事件驱动)而无需明确通知消费者?

1 个答案:

答案 0 :(得分:1)

实施INotifyPropertyChanged时,只要您想让消费者知道该属性已更改,您就只是提出一个事件。无论有多少消费者正在收听该事件,您只需拨打一次电话即可举起活动。

如果你想要实现的是减少样板代码,即每个setter只有一行代码,你可以查看this simple solutioncan be made even nicer with C# 5