Событие при изменении переменной - C#

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

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

Добрый вечер, пытаюсь разобраться в теме события в C#. В связи с чем прошу помочь. Во всех примерах событий, которые находил (книжка Шилтд, интернет), события активизируется заранее написанным методом, например так:
Листинг программы
  1. delegate void MyEventHandler();
  2. class MyEvent { // класс содержащий событие
  3. public event MyEventHandler SomeEvent;
  4. public void OnSomeEvent() { // метод вызывается для запуска события
  5. if(SomeEvent != null)
  6. SomeEvent();
  7. }
  8. }
  9. class EventDemo {
  10. static void qq () {
  11. Console.WriteLine("Произошло событие");
  12. }
  13. static void Main() {
  14. MyEvent evt = new MyEvent();
  15. evt.SomeEvent += qq;
  16. evt.OnSomeEvent(); //запустить событие
  17. Console.ReadLine();
  18. }
  19. }
Можете ли привести пример, где событие в программе, допустим отслеживает значение переменной? и если эта переменная допустим станет =5, отобразится событие Console.WriteLine("Произошло событие");

Решение задачи: «Событие при изменении переменной»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApplication28
  8. {
  9.     class Program
  10.     {
  11.         class MyClass
  12.         {
  13.             public delegate void MyEventHandler(string message); //сигнатура обработчика, который можно привязать к событию.
  14.             public event MyEventHandler SomeEvent=delegate { }; //собственно событие.
  15.             int prop;
  16.             public int MyProp
  17.             {
  18.                 get
  19.                 {
  20.                     return prop;
  21.                 }
  22.                 set
  23.                 {
  24.                     prop = value;
  25.                     if (prop == 10)
  26.                     {
  27.                         SomeEvent("переменная = 10"); //тут мы генерируем событие
  28.                     }
  29.  
  30.                 }
  31.             }
  32.         }
  33.  
  34.         static void Main(string[] args)
  35.         {
  36.             MyClass obj = new MyClass();
  37.             obj.SomeEvent += x => Console.WriteLine(x);//тут подписались
  38.             obj.MyProp = 10;//тут меняем свойство и событие генерируется
  39.             Console.Read();
  40.         }
  41.     }
  42. }

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


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

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

13   голосов , оценка 3.846 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы