Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#-如何确定属性是否已更改_C#_Properties_Propertydescriptor_Propertychanged - Fatal编程技术网

C#-如何确定属性是否已更改

C#-如何确定属性是否已更改,c#,properties,propertydescriptor,propertychanged,C#,Properties,Propertydescriptor,Propertychanged,我需要知道是否更改了公共属性(具有getter和setter)。属性位于简单类中(没有用户控件/组件等)。 是否有一种优雅的方式来订阅某种事件,当属性发生更改时会发出通知? 我试图了解microsoft在其绑定对象(使用reflector)中所做的工作,这使我探索了PropertyDescriptor.AddValueChanged方法,但它对我不起作用。也许它只适用于组件/用户控件 有什么建议吗 谢谢, Adi Barda只需实现INotifyPropertyChanged接口: 这是一个非

我需要知道是否更改了公共属性(具有getter和setter)。属性位于简单类中(没有用户控件/组件等)。
是否有一种优雅的方式来订阅某种事件,当属性发生更改时会发出通知?
我试图了解microsoft在其绑定对象(使用reflector)中所做的工作,这使我探索了PropertyDescriptor.AddValueChanged方法,但它对我不起作用。也许它只适用于组件/用户控件

有什么建议吗

谢谢,

Adi Barda

只需实现INotifyPropertyChanged接口:


这是一个非常有名的接口,绑定API使用它。只需遵循该msdn页面上的示例实现。

INotifyPropertyChanged应该可以工作,但您也可以创建自己的特定于属性的事件,而无需在system.componentmodel中拖动