Advertisement
Danielos168

Untitled

Jun 24th, 2019
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.91 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Zad4
  8. {
  9.     class ParkingEvent : EventArgs
  10.     {
  11.         public readonly int oldQuantity,NewQuantity;
  12.  
  13.         public ParkingEvent(int oldQuantity, int NewQuaintity)
  14.         {
  15.             this.oldQuantity = oldQuantity;
  16.             this.NewQuantity = NewQuaintity;
  17.         }
  18.     }
  19.     class Parking
  20.     {
  21.         int stan;
  22.  
  23.         public EventHandler<ParkingEvent> Change;
  24.  
  25.         public void change(ParkingEvent e)
  26.         {
  27.             Change?.Invoke(this,e);
  28.         }
  29.  
  30.         public Parking(int stan)
  31.         {
  32.             this.stan = stan;
  33.         }
  34.  
  35.         public int Wjazd
  36.         {
  37.             get { return stan; }
  38.             set
  39.             {
  40.                 int temp = stan;
  41.                 stan += value;
  42.                 change(new ParkingEvent(temp,stan));
  43.             }
  44.         }
  45.  
  46.         public int Wyjazd
  47.         {
  48.             get { return stan; }
  49.             set
  50.             {
  51.                 int temp = stan;
  52.                 stan -= value;
  53.                 change(new ParkingEvent(temp,stan));
  54.             }
  55.         }
  56.  
  57.     }
  58.     class Program
  59.     {
  60.         static void QuantityChanged(object sender, ParkingEvent e)
  61.         {
  62.             int roznica = e.NewQuantity - e.oldQuantity;
  63.             if (roznica > 0) Console.WriteLine("Wjechało {0} nowych pojazdów. Na parkingu znajduje sie obecnie {1}. ",roznica,e.NewQuantity);
  64.             else Console.WriteLine("Wyjechało {0} pojazdów. Na parkingu znajduje się obecnie {1}. ",-roznica,e.NewQuantity);
  65.         }
  66.         static void Main(string[] args)
  67.         {
  68.             Parking p = new Parking(100);
  69.             p.Change += QuantityChanged;
  70.  
  71.             p.Wjazd = 10;
  72.             p.Wyjazd = 60;
  73.             p.Wjazd = 50;
  74.             Console.ReadKey();
  75.         }
  76.     }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement