29 lines
678 B
C#
29 lines
678 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace AutoSellerNS
|
|
{
|
|
public static class TaskExtensions
|
|
{
|
|
//public static async Task TimeoutAfter(this Task task, int millisecondsTimeout)
|
|
//{
|
|
// if (task == await Task.WhenAny(task, Task.Delay(millisecondsTimeout)))
|
|
// await task;
|
|
// else
|
|
// throw new TimeoutException();
|
|
//}
|
|
|
|
public static async Task TimeoutAfter(Action action, int millisecondsTimeout)
|
|
{
|
|
Task task = new Task(action);
|
|
if (task == await Task.WhenAny(task, Task.Delay(millisecondsTimeout)))
|
|
await task;
|
|
else
|
|
throw new TimeoutException();
|
|
}
|
|
}
|
|
}
|