Как подписаться на события изменения переменной - C#
Формулировка задачи:
Собственно перечитал кучу книг, но везде примеры очень сложные. Гуглил не помогло.
Интересуют ссылки на грамотную литературу.
Так же, допустим такой пример на WPF, пускай у меня есть текстовое поле, значение его передается в переменную X, как подписаться на события изменения Х и постоянно реагировать на него.
Варианта со стандартным обработчиком изменения текстового поля нет. Т.е. я подписался на обновление Х и если Х достиг определенного значения, я вызываю ф-цию Y.
Решение задачи: «Как подписаться на события изменения переменной»
textual
Листинг программы
public partial class MainWindow : Window
{
public int r
{
get { return r;}
set
{
if (ValueChanged != null)
ValueChanged(value);
}
}
public MainWindow()
{
InitializeComponent();
ValueChanged += (x =>//подписываемся на событие
{
MessageBox.Show(x.ToString());
});
}
public event Action<int> ValueChanged;//создали событие, которое принимает один аргумент типа int
private void tb1_TextChanged(object sender, TextChangedEventArgs e)
{
int res=0;
if(int.TryParse(tb1.Text,out res))
r = int.Parse(tb1.Text);
}
}