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

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

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

Добрый вечер, пытаюсь разобраться в теме события в C#. В связи с чем прошу помочь. Во всех примерах событий, которые находил (книжка Шилтд, интернет), события активизируется заранее написанным методом, например так:
delegate void MyEventHandler();
 
class MyEvent {  // класс содержащий событие
    public event MyEventHandler SomeEvent;
 
    public void OnSomeEvent()   { // метод вызывается для запуска события
        if(SomeEvent != null) 
        SomeEvent();
        }
    }
 
class EventDemo {
 
    static void qq ()   {
    Console.WriteLine("Произошло событие");
    }
    
    static void Main()   {
        MyEvent evt = new MyEvent();
 
        evt.SomeEvent += qq;
        evt.OnSomeEvent();  //запустить событие
        
        Console.ReadLine();
    }   
}
Можете ли привести пример, где событие в программе, допустим отслеживает значение переменной? и если эта переменная допустим станет =5, отобразится событие Console.WriteLine("Произошло событие");

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

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication28
{
    class Program
    {
        class MyClass
        {
            public delegate void MyEventHandler(string message); //сигнатура обработчика, который можно привязать к событию.
            public event MyEventHandler SomeEvent=delegate { }; //собственно событие.
            int prop;
            public int MyProp
            {
                get
                {
                    return prop;
                }
                set
                {
                    prop = value;
                    if (prop == 10)
                    {
                        SomeEvent("переменная = 10"); //тут мы генерируем событие
                    }
 
                }
            }
        }
 
        static void Main(string[] args)
        {
            MyClass obj = new MyClass();
            obj.SomeEvent += x => Console.WriteLine(x);//тут подписались
            obj.MyProp = 10;//тут меняем свойство и событие генерируется
            Console.Read();
        }
    }
}

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


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

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

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