Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpAsAu 353 of 509 menu
◀ ▶

Объявление await using в C#

Объявление await using само вызывает DisposeAsync в конце области, в том числе если внутри произошло исключение или ожидание.

Подходит для ресурсов с асинхронным закрытием: потоки, соединения, арендованные буферы с отложенной записью.

Выполним работу внутри области и дождёмся асинхронного сброса. Сначала в консоли "work", затем "flush":

await using (LogScope scope = new LogScope()) { Console.WriteLine("work"); } class LogScope : IAsyncDisposable { public ValueTask DisposeAsync() { Console.WriteLine("flush"); return ValueTask.CompletedTask; } }

Сделайте тип, который при освобождении выводит "synced". Внутри области выведите "run".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить