Здравствуйте, samius, Вы писали:
S>Давай тогда List<T>.Add. Пойдет?
Например, пересоздание массива с копированием в новый массив содержимого старого следует реализовать в виде свободной функции.
S>С "исключительно" я перегнул. Но мне кажется и с львиной ты тоже. Если даже взять одни только штатные коллекции, то львиную долю функциональности вынести в свободные функции не получится. Потоки/файлы — нет. Строки и текст — нет. Контролы — тоже нет. Более менее свободен лишь Math.
Не нужно заменять вызовы функций классов вызовами свободных функций, т.к. понятно, что если мы запихали функцию в класс, то скорей всего сделали либо из соображений инкапсуляции, либо полиморфизма, и соответственно замена вызова на свободную функцию невозможна. Есть задача заменить реализацию функции класса на вызовы свободных функций с минимумом обвязки над ними, т.к. это резко упрощает и понимание реализации и резко увеличивает возможности по повторному использованию функциональности.