从LINQ select调用方法

本文关键字:方法 调用 select LINQ | 更新日期: 2023-09-27 18:23:56

我正在努力了解这个方法调用在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方法添加另一个参数(比如bool),那么我如何在linq select中传递它?

从LINQ select调用方法

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

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

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

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