2012-06-26 13 views
5

Sto lavorando in C# e ho un oggetto a cui posso accedere solo usando Reflection (per alcuni motivi personali). Così, quando ho bisogno di impostare un certo valore a una delle sue proprietà che faccio, come di seguito:Aumentare un evento quando Proprietà modificata utilizzando Reflection

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

E, per ottenere il suo valore Io uso il metodo GetValue.

La mia domanda è: C'è un modo per attivare un evento quando la proprietà cambia utilizzando Reflection?

Grazie in anticipo.

+0

Questo classe implementare 'INotifyPropertyChanged'? La chiamata a SetValue dovrebbe utilizzare il setter delle proprietà. – cadrell0

+0

@ cadrell0, No, temo che non sia – Dante

+0

@Dante, hai trovato una soluzione per questo? Sto tentando di attivare un evento di notifica quando viene modificato il valore Thread.CurrentThread.CurrentCulture che è simile alla tua domanda – Kira

risposta

7

C'è un modo per attivare un evento quando la proprietà cambia utilizzando Reflection?

A meno che l'addetto alla proprietà non lo sollevi, no. Non c'è nulla che "guardi" per tutte le proprietà che cambiano e che aumenta gli eventi quando lo fanno.

+0

Grazie per la tua risposta, ho bisogno di fare un altro approccio – Dante

0

È possibile utilizzare Inotifychanged in applicazione WPF .. automaticamente modificare il valore della proprietà quando qualche evento ha accaduto legato alla proprietà

Problemi correlati