示例#1
0
        public static async ValueTask <T> InvokeAsync <T>(
            this UIThreadAccessorInstance accessor, Func <ValueTask <T> > action)
        {
            await UIThread.Bind();

            return(await action().ConfigureAwait(false));
        }
示例#2
0
        public static async ValueTask InvokeAsync(
            this UIThreadAccessorInstance accessor, Func <ValueTask> action)
        {
            await UIThread.Bind();

            await action().ConfigureAwait(false);
        }
示例#3
0
 public static async ValueTask <TryInvokeAsyncResult <T> > TryInvokeAsync <T>(
     this UIThreadAccessorInstance accessor, Func <ValueTask <T> > action)
 {
     if (await UIThread.TryBind())
     {
         return(new TryInvokeAsyncResult <T>(true, await action().ConfigureAwait(false)));
     }
     else
     {
         return(new TryInvokeAsyncResult <T>(false, default !));
示例#4
0
        public static async ValueTask <bool> TryInvokeAsync(
            this UIThreadAccessorInstance accessor, Func <ValueTask> action)
        {
            if (await UIThread.TryBind())
            {
                await action().ConfigureAwait(false);

                return(true);
            }
            else
            {
                return(false);
            }
        }