2012-06-26 46 views
5

我工作在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

我的问题是:有没有办法使用反射属性的变化时触发一个事件?

预先感谢您。

+0

?调用SetValue应该使用属性设置器。 – cadrell0

+0

@ cadrell0,不,不怕 – Dante

+0

@丹特,你找到了解决方案吗?我尝试触发通知事件时,Thread.CurrentThread.CurrentCulture价值改变这是类似于你的问题 – Kira

回答

7

有没有办法使用反射属性的变化时触发一个事件?

不除非属性setter自筹的,没有。没有什么东西在“观察”所有物业的变化,并在事件发生时提供事件。

+0

谢谢你的回复,我想我需要采取另一种方法,然后 – Dante

0

可以在WPF应用程序中使用Inotifychanged ..自动改变属性值,当一些事件是否这个类实现`INotifyPropertyChanged`发生相关的物业