#c_sharp
Да, в C# очень обширная библиотека. Но почему то многие методы только статические. А хотелось бы ООП. А так, это же функциональщина получается. Взать тот же метод ForEach для массивов. Не применяется он к экземпляру класса. Пробовал сделать такую обёртку: class Arr:Array { public void forEach(Action act) {Array.ForEach(this,act);} } Выдаётся ошибка, что от System.Array нельзя наследоваться. Может как то можно прилепить к массиву такой интерфейс с минимумом кода?
Ответы
Ответ 1
Напишите метод расширения: static class ArrayExt { public static void ForEach(this T[] source, Action action) { Array.ForEach(source, action); } } Использовать можно, например, так: int[] arr = { 1, 2, 3, 10 }; arr.ForEach(Console.WriteLine);
Комментариев нет:
Отправить комментарий