我正在尝试理解下面的代码,有人可以简单地告诉我如何转换以及如何转换。特别是这部分让我感到困惑(这个IEnumerable>值)
代码:
public static class ConvertExtensions
{
public static IEnumerable<TTarget> ConvertAll<TSource, TTarget>(this IEnumerable<IConvertModel<TSource, TTarget>> values) => values.Select(value => value.Convert);
}
答案 0 :(得分:0)
基本上,对于集合中的每个值,调用T.Convert
函数(其中T是目标类型)并返回另一个转换后的值集合。
它不执行任何转换,而是根据输出类型将转换交给另一个函数。
这是执行以下操作的简便方法:
var convertedValues = new List<TTarget>();
foreach(var value in values)
{
var convertedValue = value.Convert();
convertedValues.Add(convertedValue);
}
return convertedValues;