У меня есть метод с некоторым кодом, который выполняет операцию await:
public async Task DoSomething()
{
var x = await ...;
}
Мне нужен этот код для работы в потоке диспетчера. Теперь Dispatcher.BeginInvoke() ожидает, но я не могу отметить lambda как async, чтобы запустить await изнутри, например:
public async Task DoSomething()
{
App.Current.Dispatcher.BeginInvoke(async () =>
{
var x = await ...;
}
);
}
Во внутренней async, я получаю ошибку:
Невозможно преобразовать лямбда-выражение для ввода "System.Delegate", потому что это не тип делегата.
Как я могу работать с async из Dispatcher.BeginInvoke()?