Приложение Магазина 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
,