Событие при изменении переменной - C#
Формулировка задачи:
Добрый вечер, пытаюсь разобраться в теме события в C#. В связи с чем прошу помочь.
Во всех примерах событий, которые находил (книжка Шилтд, интернет), события активизируется заранее написанным методом, например так:
Можете ли привести пример, где событие в программе, допустим отслеживает значение переменной? и если эта переменная допустим станет =5, отобразится событие Console.WriteLine("Произошло событие");
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(); } }
Решение задачи: «Событие при изменении переменной»
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(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д