【发布时间】:2019-11-27 04:09:33
【问题描述】:
我正在尝试理解下面的代码,有人可以向我解释一下(简单地说)转换的方式和内容。特别是这部分让我感到困惑(这个 IEnumerable> 值)
代码:
public static class ConvertExtensions
{
public static IEnumerable<TTarget> ConvertAll<TSource, TTarget>(this IEnumerable<IConvertModel<TSource, TTarget>> values) => values.Select(value => value.Convert);
}
【问题讨论】:
-
(this IEnumerable<IConvertModel<TSource, TTarget>> values)与“如何转换以及转换什么”无关,它只是说这是IEnumerable<IConvertModel<TSource, TTarget>>上的扩展方法。 -
IConvertModel看起来如何? -
{ 公共接口 IConvertModel
{ TTarget Convert { get; } } } -
您的
IConvertModel似乎没有转换任何价值。它只是提供TTarget的值。 -
该方法只需要一个可枚举的某人的接口,它有一个源和一个目标泛型参数和一个转换属性,真的没有什么要解释的了
标签: c# .net generics extension-methods ienumerable