Как подписаться на события изменения переменной - 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);
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.154 из 5
Похожие ответы