.NET 4.x Срабатывание события при определенных условиях - C#
Формулировка задачи:
Нужно написать программу в которой реализируется логика движения автомобиля. В 20 часов ( if (j == 20) MaxSpeed() нужно чтобы сработало событие в котором записываем данные о авто и о дне гонок (tourInfo[name] = finishedPathLength; countAvtoEndDay++ в объект Dictionary<string, int> tourInfo = new Dictionary<string, int>();. Вот это и вызывает у меня сложность, так как этот объект оглашен на уровне функции Main. А логика движения обрабатывается в потоке. Помогите пожалуйста, подскажите как это можна реализовать.
Листинг программы
- class Car
- {
- public string name { get; set; }
- public int avgSpeed { get; set; }
- public int maintenance { get; set; }
- public int finishedPathLength { get; set; }
- public Car(string Name, int avgSpeed, int maintenance, int finishedPathLength)
- {
- this.name = name; this.avgSpeed = avgSpeed;
- this.maintenance = maintenance;
- this.finishedPathLength = finishedPathLength;
- }
- public Car()
- {
- this.name = string.Empty;
- this.avgSpeed = this.maintenance = this.finishedPathLength = 0;
- }
- }
- class Zaz : Car
- {
- public delegate void CarDelegate();
- public static event CarDelegate MaxSpeed;
- public Zaz() { }
- public Zaz(string Name, int avgSpeed, int maintenance, int finishedPathLength)
- {
- this.name = name; this.avgSpeed = avgSpeed;
- this.maintenance = maintenance;
- this.finishedPathLength = finishedPathLength;
- }
- public void Dvizg()
- {
- for (int i = 1; i <= 5; i++)
- {
- for (int j = 1; j <= 24; j++)
- {
- if (j == 20) MaxSpeed();
- }
- finishedPathLength += avgSpeed;
- Thread.Sleep(1000);
- }
- }
- }
- public static void MaxSpeed()
- {
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- int countAvtoEndDay = 0;
- Dictionary<string, int> tourInfo = new Dictionary<string, int>();
- Zaz z = new Zaz("Zaz", 100, 10, 0);
- Zaz.MaxSpeed += new Zaz.CarDelegate(Zaz.MaxSpeed());
- Thread myThreadMD1 = new Thread(z.Dvizg);
- myThreadMD1.Start();
- }
- }
- }
Решение задачи: «.NET 4.x Срабатывание события при определенных условиях»
textual
Листинг программы
- z.MaxSpeed += z.EventHandler;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д