public static void Main(string[] args) { GoodBye g = new GoodBye(); Console.WriteLine(g.bye() == "good bye"); GG gg = new GG(); Console.WriteLine(gg.bye() == "GG"); GoodBye g1 = new GG(); Console.WriteLine(g1.bye() == "good bye"); GG ggg = new GGG(); Console.WriteLine(ggg.bye() == "GG"); GGG ggg2 = new GGG(); Console.WriteLine(ggg2.bye() == "GGG"); GoodBye g2 = new GGG(); Console.WriteLine(g2.bye() == "good bye"); GG gg2 = new GGG(); Console.WriteLine(gg2.bye() == "GG"); // GG gg3 = new GoodBye(); // 문법적으로 오류 }
public static void Parting(Person person, GoodBye bye, int time) { if (bye != null) { bye(person.Name); } }
public static void Main() { Hello h = new Hello("stranger"); GoodBye g = new GoodBye("my friend"); Farewell f = new Farewell("you fool"); h.speak(); g.speak(); f.speak(); }
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; } } }