Приложение Магазина Windows - синхронно ожидает асинхронную операцию

Я хотел бы использовать это решение для синхронного ожидания асинхронной операции.

 public static ConfiguredTaskAwaitable<T> StartAsTask<T> (
    this IAsyncOperation<T> self, bool continueOnContext)
{
    if (self == null)
        throw new ArgumentNullException("self");

    self.AsTask().ConfigureAwait(continueOnContext);
}

Когда я вызываю этот метод, я получаю сообщение об ошибке "Windows.Foundation.IAsyncAction", которое не содержит определения "StartAsTask" и не имеет метода расширения.

await FileIO.WriteTextAsync(sampleFile, sampleString).StartAsTask (false);

Кто-нибудь может дать мне какие-либо указания?

1 ответ

Решение

Это не решение для выполнения чего-либо синхронно, а просто как избежать обратного вызова в потоке пользовательского интерфейса, когда вам это не нужно. Проблема с вашим реальным кодом в том, что вы определили расширение для IAsyncOperation<T>не IAsyncAction,

Другие вопросы по тегам