.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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д