28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173

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

16.10.2014, 23:22. Показов 9393. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Есть глобальная переменная int x = 0;

Подскажите, как отслеживать изменения переменной? То есть создать событие, реагирующее на изменение числа.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.10.2014, 23:22
Ответы с готовыми решениями:

Как избежать изменения одной переменной ссылочного типа, когда изменяется значение другой переменной
Подскажите, пожалуйста, как избежать изменения одной переменной ссылочного типа, когда изменяется значение другой переменной ссылочного...

Как подписаться на события изменения переменной
Собственно перечитал кучу книг, но везде примеры очень сложные. Гуглил не помогло. Интересуют ссылки на грамотную литературу. Так же,...

Как отслеживать изменения в таблице?
Существует большой коллектив, насчитывающий несколько сотен сотрудников. Есть таблица, в которой время от времени происходят изменения...

3
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
17.10.2014, 00:52
Цитата Сообщение от Suppir Посмотреть сообщение
как отслеживать изменения переменной? То есть создать событие, реагирующее на изменение числа.
Ответ в вопросе: создать событие и вызывать его при изменении числа.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
static class Foo
{
   static int x;
 
   public static int X
   {
      get { return x; }
      set
      {
         if (x != value)
         {
            x = value;
            if (ValueChanged != null) ValueChanged(this, EventArgs.Empty);
         }
      }
   }
 
   static event EventHandler ValueChanged;
}
C#
1
2
3
4
5
6
7
8
9
10
11
static void Main()
{
   Foo.ValueChanged += OnValueChanged;
 
   Foo.X++;
}
 
static void OnValueChanged(object sender, EventArgs e)
{
   Console.WriteLine("Value changed!");
}
5
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
17.10.2014, 10:48  [ТС]
Спасибо!
0
 Аватар для агерон
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
19.10.2014, 09:22
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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);
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.10.2014, 09:22
Помогаю со студенческими работами здесь

Как отслеживать изменения переменных?
Для отладки программы хочу отслеживать изменения переменных, в паскале, да и в делфи в консольном приложении это делается легко, а вот как...

Как отслеживать изменения локального файла?
Добрый день! Пользователь загружает файл со своего компьютера На странице видит информацию из этого файла Нужно периодически...

C#. ASP.NET Core. Как отслеживать изменения на чужом сайте?
Добрый день. Нужно написать бота, который будет оповещать пользователя о появлении новой новости на сайте. Вопрос: как &quot;поймать&quot;...

Отслеживать изменения в компьютере
Всем привет, посоветуйте программу для отслеживания изменений. К примеру появление новых процессов, добавление чего либо в...

SQLite отслеживать изменения в базе данных
Приветствую. Опишу суть, необходимо отследить вносимые изменения в базу данных из разных программ то есть изменения вносит одно приложение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
PowerShell и онлайн сервисы. Валюта (floatrates.com руб.)
iNNOKENTIY21 11.11.2025
PowerShell функция floatrates-rub Примеры вызова: # Указанная валюта 'EUR' floatrates-rub -Code 'EUR' # Список имеющихся кодов валют floatrates-rub -Available function floatrates-rub {
PowerShell и онлайн сервисы. Погода (RP5.ru)
iNNOKENTIY21 11.11.2025
PowerShell функция Get-WeatherRP5rss для получения погоды с сервиса RP5 Примеры вызова Get-WeatherRP5rss с указанием id 5484 — Москва (восток, Измайлово) и переносом строки:. . .
PowerShell и онлайн сервисы. Погода (wttr)
iNNOKENTIY21 11.11.2025
PowerShell Функция для получения погоды с сервиса wttr Примеры вызова: Погода в городе Омск с прогнозом на день, можно изменить прогноз на более дней, для этого надо поменять запрос:. . .
PowerShell и онлайн сервисы. Валюта (ЦБР)
iNNOKENTIY21 11.11.2025
# Получение курса валют function cbr (] $Valutes = @('USD', 'EUR', 'CNY')) { $url = 'https:/ / www. cbr-xml-daily. ru/ daily_json. js' $data = Invoke-RestMethod -Uri $url $esc = 27 . . .
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru