2012-06-26 2 views
5

Я работаю на C#, и у меня есть объект, доступ к которому я могу получить только с помощью Reflection (по некоторым личным причинам). Поэтому, когда мне нужно установить некоторое значение одного из его свойств я, как показано ниже:Поднять событие, когда Property Changed using 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?

Заранее спасибо.

+0

осуществлять ли этот класс 'INotifyPropertyChanged'? Вызов SetValue должен использовать свойство setter. – cadrell0

+0

@ cadrell0, Нет, я боюсь Это не – Dante

+0

@ Dante, вы нашли решение для этого? Я пытаюсь вызвать событие уведомления, когда значение Thread.CurrentThread.CurrentCulture изменено, что похоже на ваш вопрос. – Kira

ответ

7

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

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

+0

Благодарим за ваш ответ. Мне кажется, мне нужно сделать другой подход, тогда – Dante

0

Вы можете использовать Inotifychanged в приложении WPF .. автоматически изменяет значение свойства при некотором произошло событие, связанное с собственностью

Смежные вопросы