static void Main(string[] args) { { User user1 = new User("Tom", 23, "MacOS"); user1.Interacted += Message; user1.LaunchApp(); user1.CheckState(); user1.CloseApp(); user1.CheckState(); user1.LaunchApp(); user1.OnComputing += Add;//Works only if App is launched user1.Calculation(7, 7); user1.OnComputing += Multiply; user1.Calculation(7, 7); Console.WriteLine("////// Разное поведение у разных объектов /////"); Admin admin1 = new Admin("Pete", 26, "Windows"); admin1.Interacted += Message; admin1.LaunchApp(); admin1.CheckState(); Console.WriteLine(); User user2 = new User(); user2.Interacted += Update; user2.CheckState(); user2.CloseApp(); Console.WriteLine(); Admin admin2 = new Admin(); admin2.Interacted += Update; admin2.LaunchApp(); admin2.CheckState(); Console.WriteLine("//////// Тест задания 1 /////////"); user2.Interacted += ActionNotification; user2.Interacted -= Update;//Снимаем обработчик Update с события Interacted user2.Replace(25); admin1.Interacted -= Message;//Снимаем обработчик Message с события Interacted admin1.Interacted += ActionNotification; admin1.Compress(3); Console.WriteLine("\n//////// Тест задания 2 /////////\n"); StringEditor str1 = new StringEditor("Какая-то... прелестная. строка."); str1.GetString(); DeleteDots(str1); str1.GetString(); AddSymbols(0, "qwe", str1); str1.GetString(); AddSymbols(3, "zxc", str1); str1.GetString(); AddSymbols(15, "abc", str1); str1.GetString(); AddSymbols(34, "poi", str1); str1.GetString(); AddSymbols(45, "asd", str1); str1.GetString(); CutString(3, 3, str1); str1.GetString(); MakeUpperCase(str1); str1.GetString(); DeleteSpaces(str1); str1.GetString(); Console.WriteLine("\n//////// Настоящий тест задания 2 /////////\n"); StringEditor str2 = new StringEditor("П р и в е т . . . м и р"); Action <StringEditor> strOperations = DeleteDots; strOperations(str2); strOperations = DeleteSpaces; strOperations(str2); str2.GetString(); } Console.WriteLine("\n##################\n"); StringEditor str3 = new StringEditor("My. -.name. -.is.- Nikita."); Func <StringEditor> deleteDots = DeleteDots2; Func <StringEditor, Func <StringEditor> > deleteSpaces = DeleteSpaces2; Func <int, string, StringEditor, Func <StringEditor, Func <StringEditor> > > addSymbols = AddSymbols2; Func <StringEditor, Func <int, string, StringEditor, Func <StringEditor, Func <StringEditor> > > > makeUpperCase = MakeUpperCase2; Func <int, int, StringEditor, Func <StringEditor, Func <int, string, StringEditor, Func <StringEditor, Func <StringEditor> > > > > cutString = CutString2; cutString(4, 7, str3, makeUpperCase); str3.GetString(); Console.Read(); }