是否可以在 ForEach lambda 表达式中执行此操作?
reports.ForEach(x => new PublishReport(x)
PublishReport.PublishReports());
我想要做的是实例化 PublishReport(只包含类和方法名称)类,传递一个报告对象,然后调用 PublishReport 类的 PublishReports 方法。
我所做的工作是:
reports.ForEach(x => CallPublishReports(x));
private void CallPublishReport(Report report)
{
PublishReport publishReport = new PublishReport(report);
publishReport.PublishReports();
}
最佳答案
您正在寻找的代码看起来像这样:
reports.ForEach(x => (new PublishReport(x)).PublishReport());
或者
reports.ForEach(x => {
var report = new PublishReport(x);
report.PublishReports();
});
您也可以将 ForEach
替换为 Select
,因为前者仅存在于 PLINQ afaik 中。
关于c# - 在 lambda foreach 中实例化一个类并调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47140137/