Как отслеживать изменения переменной? - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день! Есть глобальная переменная int x = 0; Подскажите, как отслеживать изменения переменной? То есть создать событие, реагирующее на изменение числа.

Решение задачи: «Как отслеживать изменения переменной?»

textual
Листинг программы
using System;
 
namespace Test1
{
    public class EventArgs<T> : EventArgs
    {
        public EventArgs(T dataObject)
        {
            DataObject = dataObject;
        }
 
        public T DataObject { get; set; }
    }
 
    public class Singleton<T>
    {
        protected Singleton()
        {
        }
 
        private sealed class SingletonCreator<T>
        {
            private static readonly Singleton<T> instance = new Singleton<T>();
 
            public static Singleton<T> Instance
            {
                get { return instance; }
            }
        }
 
        public static Singleton<T> Instance
        {
            get { return SingletonCreator<T>.Instance; }
        }
 
        protected T _value;
 
        public T Value
        {
            get { return _value; }
            set
            {
                _value = value;
                ValueChanged(this, new EventArgs<T>(_value));
            }
        }
 
        public event EventHandler<EventArgs<T>> ValueChanged = delegate { };
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            Singleton<int>.Instance.ValueChanged += Instance_ValueChanged;
            Singleton<int>.Instance.Value = 10;
            Singleton<int>.Instance.ValueChanged -= Instance_ValueChanged;
        }
 
        static void Instance_ValueChanged(object sender, EventArgs<int> e)
        {
            Console.WriteLine("Value Changed: {0}", e.DataObject);
        }
    }
}

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


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

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

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