使用Reflection更改属性时引发事件

时间:2012-06-26 15:12:30

标签: c# reflection propertychanged

我在C#工作,我有一个只能使用Reflection访问的对象(出于某些个人原因)。因此,当我需要为其中一个属性设置一些值时,我会执行以下操作:

System.Reflection.PropertyInfo property = this.Parent.GetType().GetProperty("SomeProperty");
object someValue = new object(); // Just for example
property.SetValue(this.Parent, someValue, null);

而且,为了获得它的价值,我使用方法GetValue

我的问题是:当使用Reflection更改属性时,有没有办法触发事件?

2 个答案:

答案 0 :(得分:8)

  

当使用Reflection?属性更改时,有没有办法触发事件?

除非属性设定者本身提出它,否则不会。没有什么能够“观察”所有属性的变化,并且当它们发生时会发生事件。

答案 1 :(得分:0)

您可以在WPF应用程序中使用Inotifychanged ..当某个与属性相关的事件发生时自动更改属性值