A cross-platform UI framework for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

38 lines
979 B

using System;
using System.Threading.Tasks;
using Avalonia.Threading;
namespace Avalonia.UnitTests
{
/// <summary>
/// Immediately invokes dispatched jobs on the current thread.
/// </summary>
public class ImmediateDispatcher : IDispatcher
{
public bool CheckAccess()
{
return true;
}
public void Post(Action action, DispatcherPriority priority = DispatcherPriority.Normal)
{
action();
}
public Task InvokeAsync(Action action, DispatcherPriority priority = DispatcherPriority.Normal)
{
action();
return Task.FromResult<object>(null);
}
public Task<TResult> InvokeAsync<TResult>(Func<TResult> function, DispatcherPriority priority = DispatcherPriority.Normal)
{
var result = function();
return Task.FromResult(result);
}
public void VerifyAccess()
{
}
}
}