Я пытаюсь скопировать список файлов в каталог. Я использую async/wait. Но я получаю эту ошибку компиляции
Оператор "ожидание" может использоваться только в асинхронной лямбда выражение. Рассмотрите маркировку этого лямбда-выражения с помощью "async" Модификатор.
Вот как выглядит мой код
async Task<int> CopyFilesToFolder(List<string> fileList,
IProgress<int> progress, CancellationToken ct)
{
int totalCount = fileList.Count;
int processCount = await Task.Run<int>(() =>
{
int tempCount = 0;
foreach (var file in fileList)
{
string outputFile = Path.Combine(outputPath, file);
await CopyFileAsync(file, outputFile); //<-- ERROR: Compilation Error
ct.ThrowIfCancellationRequested();
tempCount++;
if (progress != null)
{
progress.Report((tempCount * 100 / totalCount)));
}
}
return tempCount;
});
return processCount;
}
private async Task CopyFileAsync(string sourcePath, string destinationPath)
{
using (Stream source = File.Open(sourcePath, FileMode.Open))
{
using (Stream destination = File.Create(destinationPath))
{
await source.CopyToAsync(destination);
}
}
}
Pls может кто-нибудь указать, что мне здесь не хватает?