Я нашел отличный способ, как сделать периодическую работу с использованием асинхронного/ОЖИДАНИЕ рисунка здесь: https://stackoverflow.com/a/14297203/899260Создать метод расширения, чтобы сделать периодическую РАБОТУ
Теперь то, что я хотел бы сделать, это создать метод расширения так что я могу сделать
someInstruction.DoPeriodic(TimeSpan.FromSeconds(5));
Возможно ли это вообще, и если, как бы вы это сделали?
EDIT:
До сих пор я переработан код из URL выше в метод расширения, но я не знаю, как поступить оттуда
public static class ExtensionMethods {
public static async Task<T> DoPeriodic<T>(this Task<T> task, CancellationToken token, TimeSpan dueTime, TimeSpan interval) {
// Initial wait time before we begin the periodic loop.
if (dueTime > TimeSpan.Zero)
await Task.Delay(dueTime, token);
// Repeat this loop until cancelled.
while (!token.IsCancellationRequested) {
// Wait to repeat again.
if (interval > TimeSpan.Zero)
await Task.Delay(interval, token);
}
}
}
Вы знаете, как создать метод расширения? Если да, у вас есть ответ, если нет, вы можете использовать Google. –
@MarcinJuraszek Я переработал код из ссылки в метод расширения, но я не знаю, как исходить оттуда. См. Мое редактирование. – lightxx
Показать код – MarcinJuraszek