2012-06-26 17 views
5

Estoy trabajando en C# y tengo un objeto al que solo puedo acceder usando Reflection (por razones personales). Así, cuando tenga que establecer un valor a una de sus propiedades que hago de la siguiente manera:Levante un evento cuando la propiedad se modificó usando la Reflexión

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

Y, para obtener su valor de uso el método GetValue.

Mi pregunta es: ¿Hay alguna manera de despedir un evento cuando la propiedad cambia con Reflection?

Gracias de antemano.

+0

¿Desarrolla esta clase 'INotifyPropertyChanged'? Llamar a SetValue debería usar el setter de propiedades. – cadrell0

+0

@ cadrell0, No, me temo que no – Dante

+0

@Dante, ¿ha encontrado una solución para esto? Estoy tratando de desencadenar un evento de notificación cuando se cambia el valor de Thread.CurrentThread.CurrentCulture, que es similar a su pregunta – Kira

Respuesta

7

¿Hay alguna manera de activar un evento cuando la propiedad cambia con Reflection?

No, a menos que el organizador de la propiedad lo plantee, no. No hay nada "vigilante" para que todas las propiedades cambien y generen eventos cuando lo hacen.

+0

Gracias por su respuesta, I guees Tengo que tomar otro enfoque luego – Dante

0

Puede utilizar Inotifychanged en aplicación de WPF .. automáticamente cambiar el valor de la propiedad cuando algunos producirse el evento relacionado con la propiedad

Cuestiones relacionadas