Мне нужно передать Func и мне нужно запустить всю задачу в диспетчере WPF с заданным приоритетом.
Пример:< /strong>
Мне нужно вызвать асинхронную функцию Foo, которая должна работать в потоке диспетчера:
Код: Выделить всё
async Task Foo()
{
// some view model modification that needs to run on UI thread
...
// calling some IO call on thread pool
await Task.Run(() => SomeIoCallAsync());
// more view model modifications
...
// calling something on thread pool
await Task.Run(() => HeavyComputation());
// more view model modifications
...
return someResult;
}
Код: Выделить всё
async Task Bar()
{
...
TODO call Foo() on UI thread
...
}
Код: Выделить всё
async Task Bar()
{
...
await dispatcher.InvokeAsync(Foo, someDispatcherPriority);
...
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... a-priority
Мобильная версия