【问题标题】:Calling a method from a LINQ select从 LINQ 选择中调用方法
【发布时间】:2015-11-24 04:03:06
【问题描述】:

我试图了解此方法调用在Linq statement 中的工作原理。 我有一行代码,例如:

foreach (var model in myDataList.Select(RenderMyData))
{
    pPoint.CreateStuff(model, true);
}

RenderMyData 看起来像这样:

    protected PowerPoint.MyModel RenderMyData(CustomData myData)
    {
        // Do stuff
    }

CustomData 对象如何传递给 RenderMyData 方法? 如果我想向 RenderMyData 方法添加另一个参数(如布尔值),那么如何在 linq 选择中传递它?

【问题讨论】:

  • 可以通过方法组转换。 This SO 应该为您解释更多。

标签: c# linq


【解决方案1】:

存在从方法组 (RenderMyData) 到兼容委托类型(在本例中为 Func<CustomData, MyModel>)的隐式转换。相当于:

var model in myDataList.Select(d => RenderMyData(d))

如果你添加一个参数,你可以这样做:

var model in myDataList.Select(d => RenderMyData(d, otherParam))

【讨论】:

  • 谢谢您的解释
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多