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

SetResult

SetResult можно вызвать один раз; повтор бросает InvalidOperationException.

Синтаксис

tcs.SetResult(12345);

Пример

Давайте завершим задачу и получим результат:

using System; using System.Threading.Tasks; class Program { static async Task Main() { var tcs = new TaskCompletionSource<int>(); tcs.SetResult(12345); int res = await tcs.Task; Console.WriteLine(res); } }

Результат выполнения кода:

12345

Пример

Давайте вызовем SetResult второй раз:

using System; using System.Threading.Tasks; class Program { static async Task Main() { var tcs = new TaskCompletionSource<int>(); tcs.SetResult(12345); try { tcs.SetResult(99999); Console.WriteLine("ok"); } catch (InvalidOperationException) { Console.WriteLine("fail"); } int res = await tcs.Task; Console.WriteLine(res); } }

Результат выполнения кода:

"fail" 12345

Смотрите также

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