/// <summary> /// Метод CopyTo служит для копирования всех элементов коллекции в заданный массив /// </summary> /// <param name="arr">Массив в который происходит копирование элементов коллекции</param> /// <param name="index">Индекс, с которого начнется копирование элементов в массив arr</param> public void CopyTo(T[] arr, int index) { //Переменной col типа List присваевается ссылка на массив collection преобразованный в коллекцию List List <T> col = collection.ToList(); //Если событию копирования присвоена функция обработчик if (OnCopy != null) { ///Создается экземпляр класса Copier, хрянящий индекс и массив в котрый будет ///производится копирование var eventArgs = new Copyier <T>(arr, index); //Вызов функции обработчика OnCopy(this, eventArgs); } ///Переменной collection присваивается ссылка на коллекцию col преобразованную в массив col.CopyTo(arr, index); }
/// <summary> /// Метод Copy вызывается при копировании элементов коллекции в массив /// </summary> /// <param name="sender">Объект, в контексте которого вызывается функция</param> /// <param name="copy">Объект хранящий имя массива в который будут копироваться значения и индекс</param> private static void Copy(object sender, Copyier <string> copy) { Console.WriteLine($"Элементы коллекции были скопированы в массив {copy.Arr}, начиная с индекса {copy.Index}"); }