public Task <T> InvokeAsync <T>(Func <T> func) { var tcs = new TaskCompletionSource <T>(); UIThread.InvokeAsyncHelper <T>(func, tcs); return(tcs.Task); }
public Task InvokeAsync(Action action) { var tcs = new TaskCompletionSource <object>(); UIThread.InvokeAsyncHelper(action, tcs); return(tcs.Task); }
public override Task <T> InvokeAsync <T>(Func <T> func, CancellationToken cancellationToken) { var tcs = new TaskCompletionSource <T>(); if (cancellationToken.CanBeCanceled) { cancellationToken.Register(() => tcs.TrySetCanceled()); } UIThread.InvokeAsyncHelper <T>(func, tcs); return(tcs.Task); }
public override Task InvokeAsync(Action action, CancellationToken cancellationToken) { var tcs = new TaskCompletionSource <object>(); if (cancellationToken.CanBeCanceled) { cancellationToken.Register(() => tcs.TrySetCanceled()); } UIThread.InvokeAsyncHelper(action, tcs); return(tcs.Task); }