Поднимите событие, когда свойство изменено с помощью отражения

Я работаю на С#, и у меня есть объект, к которому я могу получить доступ только с помощью Reflection (по некоторым личным причинам). Итак, когда мне нужно установить какое-то значение для одного из его свойств, я делаю следующее:

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

И, чтобы получить его значение, я использую метод GetValue.

Мой вопрос: Есть ли способ инициировать событие при изменении свойства с помощью Reflection?


person Dante    schedule 26.06.2012    source источник
comment
Реализует ли этот класс INotifyPropertyChanged? Вызов SetValue должен использовать установщик свойств.   -  person cadrell0    schedule 26.06.2012
comment
@cadrell0, нет, боюсь, что нет   -  person Dante    schedule 26.06.2012
comment
@ Данте, ты нашел решение для этого? Я пытаюсь вызвать событие уведомления, когда значение Thread.CurrentThread.CurrentCulture изменяется, что похоже на ваш вопрос   -  person Kira    schedule 24.08.2015


Ответы (2)


Есть ли способ запустить событие, когда свойство изменяется с помощью Reflection?

Нет, если только сам установщик свойств не поднимает его, нет. Нет ничего, что «наблюдало бы» за изменением всех свойств и вызывало бы события, когда они происходят.

person Jon Skeet    schedule 26.06.2012
comment
Спасибо за ваш ответ, я думаю, мне нужно использовать другой подход, тогда - person Dante; 26.06.2012

Вы можете использовать Inotifychanged в приложении WPF. Автоматически изменять значение свойства, когда происходит какое-либо событие, связанное со свойством

person Vinoth    schedule 27.06.2012