2012-06-26 82 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`發生相關的物業