我试图在.net 4.0中实现这一点。但是得到错误
public async Task SetInterval(Func evaluate,TimeSpan interval,CancellationToken token){
await Task.Delay(interval).ConfigureAwait(false);
var result = evaluate();
if(result != default(T)) return result;
if(token. IsCancellationRequested) return default(T);
result = await SetInterval(cb, interval, token);
return result;
}
这可以作为
调用var source = new CancellationTokenSource(TimeSpan.FromMinutes(5)); SetInterval(()=> {},TimeSpan.FromSeconds(10),source.Token);