C# 4.0 如何在不进行显式调用的情况下实现属性更改通知?
在WPF中,存在双向数据绑定的概念,当数据库中更新对象属性值时,框架也会在实现C# 4.0 如何在不进行显式调用的情况下实现属性更改通知?,c#-4.0,inotifypropertychanged,C# 4.0,Inotifypropertychanged,在WPF中,存在双向数据绑定的概念,当数据库中更新对象属性值时,框架也会在实现INotifyPropertyChanged接口时更新视图 我在C#中寻找类似的功能,但不使用WPF 场景是,当对象属性更新时,会向该对象的其他使用者发送一系列通知,通知他们属性更改 因此,流程是: 更新数据库 通知消费者1 通知消费者2 这个过程需要三条独立的线。是否有一种方法可以实现WPF概念,即更改属性以更新消费者(例如,事件驱动),而无需明确通知消费者?在实现INotifyPropertyChanged时,只要
INotifyPropertyChanged
接口时更新视图
我在C#中寻找类似的功能,但不使用WPF
场景是,当对象属性更新时,会向该对象的其他使用者发送一系列通知,通知他们属性更改
因此,流程是:
这个过程需要三条独立的线。是否有一种方法可以实现WPF概念,即更改属性以更新消费者(例如,事件驱动),而无需明确通知消费者?在实现
INotifyPropertyChanged
时,只要想让消费者知道属性已更改,就只需引发一个事件。无论有多少消费者正在收听该活动,您只需拨打一次电话即可发起该活动
如果您试图实现的是减少样板代码,即每个setter只有一行代码,那么您可以查看一下。当实现
INotifyPropertyChanged
时,只要想让消费者知道属性已更改,您就只需引发一个事件。无论有多少消费者正在收听该活动,您只需拨打一次电话即可发起该活动
如果您试图实现的是减少样板代码,即每个setter只有一行代码,那么您可以查看一下。这取决于您正在做什么,您到底想做什么win forms应用程序、ASP.NET webforms或MVC应用程序,或者什么?每个人都有一套不同的方法来处理这样的事情,这就是我为什么要问的原因。@Nomad101-啊,是的。。。底层架构是MVC。这取决于您正在做什么,您到底想做什么,一个win forms应用程序,一个ASP.NET webforms或MVC应用程序,或者什么?每个人都有一套不同的方法来处理这样的事情,这就是我为什么要问的原因。@Nomad101-啊,是的。。。底层架构是MVC。只是澄清一下,您的建议是针对非WPF/非Silverlight客户端的,对吗?这适用于任何C类。的确,WPF、Silverlight和WinForms使用此接口来了解何时更新UI,这是人们通常实现此接口的主要原因,但您也可以实现此接口以供自己使用。请澄清,您的建议适用于非WPF/非Silverlight客户端,对吗?这适用于任何C#类。的确,WPF、Silverlight和WinForms使用此接口来了解何时更新UI,这是人们通常实现此接口的主要原因,但您也可以仅为自己使用而实现它。