public static void Main() { Aircraft aircraft1 = new Aircraft(); aircraft1.ShowInfoAir(); // Сериализация созданного экземпляра обьекта Aircraft №1 //Aircraft.Serialize(aircraft1); // СНЯТЬ КОММЕНТАРИЙ // Десериализация экземпляра обьекта Aircraft №1 //aircraft1 = Aircraft.DeSerialize(); // СНЯТЬ КОММЕНТАРИЙ // Подписка на событие Takeoff aircraft1.Takeoff += new TakeoffEventHandler(aircraft1.TakeoffHandler); // Взлет - вызов события Takeoff TakeoffEventArgs argTakeoff = new TakeoffEventArgs(300, 5, 600); aircraft1.OnTakeoff(argTakeoff); aircraft1.ShowInfoAir(); // Сериализация измененного экземпляра обьекта Aircraft №2 Aircraft.Serialize(aircraft1); // СНЯТЬ КОММЕНТАРИЙ // Десериализация экземпляра обьекта Aircraft №2 aircraft1 = Aircraft.DeSerialize(); // СНЯТЬ КОММЕНТАРИЙ // Подписка на событие Boarding aircraft1.Boarding += new BoardingEventHandler(aircraft1.BoardingHandler); // Посадка - вызов события Boarding BoardingEventArgs argBoard = new BoardingEventArgs(120); aircraft1.OnBoarding(argBoard); aircraft1.ShowInfoAir(); //Сериализация измененного экземпляра обьекта Aircraft №3 //Aircraft.Serialize(aircraft1); // СНЯТЬ КОММЕНТАРИЙ // Десериализация экземпляра обьекта Aircraft №3 //aircraft1 = Aircraft.DeSerialize(); // СНЯТЬ КОММЕНТАРИЙ }
//Обработчик события ПОСАДКА public void BoardingHandler(object sender, BoardingEventArgs arg) { this.ChangeCourse(arg.Course); this.ChangeHight(arg.Height); this.ChangeSpeed(arg.Speed); }
// Метод, запускающий событие ПОСАДКА public void OnBoarding(BoardingEventArgs arg) { Console.WriteLine($"\n*********************Самолет\0{this.ModelAir}\0идет на посадку!!"); Boarding?.Invoke(this, arg); }