Beispiel #1
0
 public void PersonCame(Person p)
 {
     p.Came += this.PersonCame;
     // dude.addEventListener('Came', PersonCame);
     //dude.dispatchEvent('Came');
     p.Leave += this.PersonLeave;
     p.OnCame();
 }
        public void ComePerson(Person p, TimeOfCame TimeCame)
        {
            Console.WriteLine("[{0} came to work]\n", p.Name);

            foreach (var elem in ListPerson)
            {
                MessageCome greet = new MessageCome(elem.Greeting);
                Greet += greet;
            }

            p.Came += CameHandler;
            p.OnCame(p, TimeCame);

            foreach (var elem in ListPerson)
            {
                MessageCome greet = new MessageCome(elem.Greeting);
                Greet -= greet;
            }

            ListPerson.Add(p);
        }
Beispiel #3
0
        public static void Main(string[] args)
        {
            var john = new Person {
                Name = "John"
            };
            var bill = new Person {
                Name = "Bill"
            };
            var hugo = new Person {
                Name = "Hugo"
            };

            john.OnCame();
            bill.OnCame();
            hugo.OnCame();

            john.OnLeft();
            bill.OnLeft();
            hugo.OnLeft();

            ReadKey();
        }
 public static void Main(string[] args)
 {
     while (true)
     {
         Person john = new Person {
             Name = "John"
         };
         Person bill = new Person {
             Name = "Bill"
         };
         Person mary = new Person {
             Name = "Mary"
         };
         Person ann = new Person {
             Name = "Ann"
         };
         Hello   greetByJohn   = new Hello(john.Greet);
         Hello   greetByBill   = new Hello(bill.Greet);
         Hello   greetByMary   = new Hello(mary.Greet);
         Hello   greetByAnn    = new Hello(ann.Greet);
         Hello   greetByAll    = null;
         GoodBye goodByByJohn  = new GoodBye(john.Leave);
         GoodBye goodByeByBill = new GoodBye(bill.Leave);
         GoodBye goodByeByMary = new GoodBye(mary.Leave);
         GoodBye goodByeByAnn  = new GoodBye(ann.Leave);
         GoodBye goodByeByAll  = null;
         john.Came += Percon_Came;//todo pn подписка на событие должна быть внутри класса Person. Собственно, как и реакции на события прихода/ухода. Переделать.
         john.OnCame(9);
         Creeting(john, greetByAll, 9);
         greetByAll   += greetByJohn;
         goodByeByAll += goodByByJohn;
         bill.Came    += Percon_Came;
         bill.OnCame(10);
         Creeting(bill, greetByAll, 10);
         greetByAll   += greetByBill;
         goodByeByAll += goodByeByBill;
         john.Left    += Percon_Left;
         john.Leaver(14);
         greetByAll   -= greetByJohn;
         goodByeByAll -= goodByByJohn;
         Parting(john, goodByeByAll, 14);
         ann.Came += Percon_Came;
         ann.OnCame(15);
         Creeting(ann, greetByAll, 15);
         greetByAll   += greetByAnn;
         goodByeByAll += goodByeByAnn;
         mary.Came    += Percon_Came;
         mary.OnCame(18);
         Creeting(mary, greetByAll, 18);
         greetByAll   += greetByMary;
         goodByeByAll += goodByeByMary;
         ann.Left     += Percon_Left;
         ann.Leaver(21);
         greetByAll   -= greetByAnn;
         goodByeByAll -= goodByeByAnn;
         Parting(ann, goodByeByAll, 21);
         bill.Left += Percon_Left;
         bill.Leaver(22);
         greetByAll   -= greetByBill;
         goodByeByAll -= goodByeByBill;
         Parting(bill, goodByeByAll, 22);
         mary.Left += Percon_Left;
         mary.Leaver(23);
         greetByAll   -= greetByMary;
         goodByeByAll -= goodByeByMary;
         Parting(mary, goodByeByAll, 23);
         Console.Write("For close program use button Escape(Esp): ");
         ConsoleKeyInfo c = Console.ReadKey();
         if (c.Key == ConsoleKey.Escape)
         {
             break;
         }
     }
 }