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); }
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; } } }