Если Events
является List<T>
вы можете использовать:
Events.ForEach(m => m.SomeId = 0);
Если Events
является IEnumerable
, ForEach
не реализована, но вы, конечно, можете сделать свой собственный ForEach, который работает на IEnumerable
самостоятельно. Причина: ForEach
не создано для IEnumerable
, является то, что they did not want to have extension method on IEnumerable
with side effects (что изменило оригинальную коллекцию).
Реализация ForEach на IEnumerable достаточно легко:
public static IEnumerable<T> ForEach<T>(this IEnumerable<T> source, Action<T> action)
{
foreach (T element in source)
action(element);
return source;
}
Это должно идти в static
класс так же, как и все другие методы расширения.
Там нет " Lambda Extension ", вы объединили 2 понятия в одном:« Лямбда-выражение »и« Методы расширения ». – digEmAll
Правда, но я искал способ реализовать лямбда в расширении. Но похоже, что уже есть метод, который делает то, что я хочу. –
шахта была просто разъяснением. Чтобы быть более точным, заголовок должен был быть «Как создать метод расширения с использованием лямбда-выражения». Ваша цель была ясна, хотя :) – digEmAll