Код: Выделить всё
private void GenerateExportOutput()
{
using StreamWriter writer = new(Coordinator.OutputDirectory + @"\export.txt");
if (this.WikiPagesToExport.IsEmpty)
{
return;
}
var wanted = new SortedDictionary(this.WikiPagesToExport, StringComparer.Ordinal);
foreach (var title in wanted.Keys)
{
writer.WriteLine(title);
}
}
< /code>
Я хочу изменить его, чтобы быть асинхронным. SO: < /p>
private async Task GenerateExportOutputAsync()
{
using StreamWriter writer = new(Coordinator.OutputDirectory + @"\export.txt");
if (this.WikiPagesToExport.IsEmpty)
{
return;
}
var wanted = new SortedDictionary(this.WikiPagesToExport, StringComparer.Ordinal);
foreach (var title in wanted.Keys)
{
await writer.WriteLineAsync(title).ConfigureAwait(false);
}
await writer.FlushAsync().ConfigureAwait(false);
}
< /code>
, который компилируется. Но один из анализаторов, которых я использую (meziantou.analyzer), теперь предполагает, что я «предпочитаю использовать« ждать использования ». Я никогда не использовал ждать использования (хотя я пробовал несколько раз в прошлом и всегда сталкивался с теми же проблемами, с которыми я сейчас сталкиваюсь). Но я хотел бы использовать его, так что: < /p>
await using StreamWriter writer = new StreamWriter(OutputDirectory + @"\export.txt").ConfigureAwait(false);
Код: Выделить всё
await using var writer = new StreamWriter(OutputDirectory + @"\export.txt").ConfigureAwait(false);
Код: Выделить всё
await ((StreamWriter)writer).WriteLineAsync(title).ConfigureAwait(false);
Я погуглил кучу и прочитал кучу, как сейчас, так и несколько раз в прошлом, но я просто не мог понять, как использовать эту «ждать», используя ». Как я могу это сделать? Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/708 ... ax-correct
Мобильная версия