Apart from ForEach<T>, as I described in my previous post, I noticed the absence of ConvertAll<T> on everything but List<T> as well. Pretty annoying when I wanted to convert a list of business objects of So I extended my static class GenericUtilities with another extension methdo
using System;
using System.Collections.Generic;
namespace LocalJoost.Utilities
{
public static class GenericExtensions
{
// previous code for ForEach omitted.
public static IEnumerable<TC> ConvertAll<T, TC>(
this IEnumerable<T> inputList,
Converter<T, TC> convert)
{
foreach( var t in inputList )
{
yield return convert(t);
}
}
}
This permitted me to do something like this:
return ListRubriek.Get()
.ConvertAll(p => new CascadingDropDownNameValue(
p.Omschrijving, p.Id.ToString()))
.ToArray();
to easily convert a list of CSLA business objects into a list that could be used in an ASP.NET Ajax Cascading dropdown. Nothing special for the veteran functional programmer I guess but still, useful.
This is actually the 2nd version - thanks to Jarno Peschier for some constructive criticism
