我正在尝试使用 NAPS2 包创建 sdk 扫描。 我已经在我的项目中安装了 naps2 sdk,微软实体框架。 但是,当我尝试编写如下代码时: var images =等待controller.Scan(options).ToListAsync();
ToListAsync 未显示。
原始代码如下: // 扫描并保存pdf
var images = await controller.Scan(options).ToListAsync(); var pdfExporter = new PdfExporter(scanningContext); await pdfExporter.Export("Doc.Pdf", images);
ToListAsync
是IQueryable
的扩展方法,可以在文档中看到。
从我在NAPS2示例中看到的,
controller.Scan
方法返回IAsyncEnumerable<ProcessedImage>
(或Scan
方法的文档),它没有方法ToListAsync
。这就是为什么它没有出现。
要正确使用该方法并利用异步执行,我们可以简单地遵循
await foreach
的示例,其中获取集合的每个项目都是异步操作。因此,要将其转换为常规 List
,您需要:
var images = new List<ProcessedImage>();
await foreach (var i in controller.Scan(options))
{
images.Add(img);
}