2012-06-26 7 views
5

Ich arbeite in C# und ich habe ein Objekt, das ich nur unter Verwendung Reflection (aus einigen persönlichen Gründen) zugreifen kann. Also, wenn ich einen gewissen Wert auf eine seiner Eigenschaften festgelegt tun müssen, ich wie folgt:Erhebe ein Ereignis, wenn die Eigenschaft mit Reflection geändert wurde

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

Und bekommen ihr Wert verwende ich die Methode GetValue.

Meine Frage ist: Gibt es eine Möglichkeit, ein Ereignis auszulösen, wenn sich die Eigenschaft mit Reflection ändert?

Vielen Dank im Voraus.

+0

Implementiert diese Klasse 'INotifyPropertyChanged' Zusammenhang aufgetreten? Der Aufruf von SetValue sollte den Eigenschaften-Setter verwenden. – cadrell0

+0

@ cadrell0, Nein, ich habe Angst Es tut nicht – Dante

+0

@Dante, haben Sie eine Lösung dafür gefunden? Ich versuche, ein Benachrichtigungsereignis auszulösen, wenn Thread.CurrentThread.CurrentCulture Wert geändert wird, der Ihrer Frage ähnlich ist – Kira

Antwort

7

Gibt es eine Möglichkeit, ein Ereignis auszulösen, wenn sich die Eigenschaft mit Reflection ändert?

Nicht, es sei denn, der Property Setter selbst erhöht, nein. Es wird nichts "beobachtet", wenn sich alle Eigenschaften ändern und wenn Ereignisse ausgelöst werden.

+0

Vielen Dank für Ihre Antwort, ich guees Ich muss einen anderen Ansatz dann nehmen – Dante

0

können Sie Inotifychanged in WPF-Anwendung verwenden .. automatisch den Eigenschaftswert ändern, wenn ein Ereignis auf Eigentum

Verwandte Themen