static void Main(string[] args) { //подписываем методы на события int CheckOnInteger(string c)//проверка числа на целое, в качестве параметра входит число или цифра { bool o = int.TryParse(c, out int number); while (!o) { Console.WriteLine("Введите целое число"); o = int.TryParse(c, out number); } return(number); } Console.WriteLine("Введите размер пользовательской коллекции"); int size = CheckOnInteger(Console.ReadLine()); Factory[] Mas; Mas = NewDoubleListConnection <Organization> .RandomFactory(size); NewDoubleListConnection <Organization> Ndc = new NewDoubleListConnection <Organization>("Новая коллекция", Mas); Ndc.AddTo += WriteChangesAdd; Ndc.DelFrom += WriteChengesDel; foreach (var b in Mas) { b.Show(); } Console.WriteLine($"Название коллекции - {Ndc.NameColl}"); Organization org = new Organization(); org = (Organization)org.Init(); Ndc.Add(4, org, Ndc.NameColl); Ndc.Delete(3, Ndc.NameColl); Ndc.AddDefault(3, Ndc.NameColl); NewDoubleListConnection <Organization> Ndc1 = new NewDoubleListConnection <Organization>("Новая коллекция 1", Mas); //создаем коллекию NewDoubleListConnection <Organization> Ndc2 = new NewDoubleListConnection <Organization>("Новая коллекция 2", Mas); //создаем коллекцию Journal FirstChange = new Journal(); Journal SecondChange = new Journal(); //оформляем подписку Ndc1.CollectionCountChanged += FirstChange.CollectionCountChanged; Ndc1.CollectionReferenceChanged += FirstChange.CollectionReferenceChanged; Ndc2.CollectionCountChanged += SecondChange.CollectionReferenceChanged; Ndc2.CollectionReferenceChanged += SecondChange.CollectionReferenceChanged; Ndc1.AddTo += WriteChangesAdd; Ndc1.DelFrom += WriteChengesDel; Ndc2.AddTo += WriteChangesAdd; Ndc2.DelFrom += WriteChengesDel; Organization org1 = new Organization(); org = (Organization)org.Init(); Factory Fac1 = new Factory(); Fac1 = (Factory)Fac1.Init(); Ndc1.Add(3, org1, Ndc1.NameColl); //добавим элемент в первую коллекцию Ndc1.Delete(2, Ndc1.NameColl); //удалим элемент из первой коллекции Ndc2.Add(5, Fac1, Ndc2.NameColl); //Добавим элемент во вторую коллекцию Ndc2.Delete(1, Ndc2.NameColl); //Удалим элемент из второй коллекции //Проверим наши журналы Console.Clear(); Console.WriteLine("Посмотрим наши журналы"); Console.WriteLine(FirstChange); Console.WriteLine(SecondChange); Console.ReadKey(); }
public MyNumerator(NewDoubleListConnection <T> collection) { //beg = collection.beg; current = null; }