Raise an event when Property Changed using Reflection
Asked Answered
N

2

7

I am working in C# and I have an object which I can only access using Reflection (for some personal reasons). So, when I need to set some value to one of its properties I do as below:

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

And, to get its value I use the method GetValue.

My question is: Is there a way to fire an event when the property changes using Reflection?

Napiform answered 26/6, 2012 at 15:12 Comment(3)
Does this class implement INotifyPropertyChanged? Calling SetValue should use the properties setter.Hagiographer
@cadrell0, No, Im afraid It doesntNapiform
@Dante, did you find a solution for this ? I'm trying to trigger a notification event when Thread.CurrentThread.CurrentCulture value is changed which is similar to your questionPlanetary
R
8

Is there a way to fire an event when the property changes using Reflection?

Not unless the property setter itself raises it, no. There's nothing "watching" for all properties changing, and raising events when they do.

Rozalin answered 26/6, 2012 at 15:14 Comment(1)
Thank you for your reply, I guees I need to take another approach thenNapiform
C
0

You can use Inotifychanged in WPF application.. automatically change the property value when some event occured related to property

Caneghem answered 27/6, 2012 at 12:32 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.