我试图了解此方法调用在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中传递该参数?

最佳答案

从方法组(RenderMyData)到兼容的委托类型(在这种情况下为Func<CustomData, MyModel>)存在隐式转换。它等效于:

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


如果添加参数,则可以执行以下操作:

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

关于c# - 从LINQ select调用方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33879608/

10-12 06:42