#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);
Комментариев нет:
Отправить комментарий