.net – Task <>和IAsyncOperation <>之间有什么区别?

前端之家收集整理的这篇文章主要介绍了.net – Task <>和IAsyncOperation <>之间有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在写一个地铁应用程序

这样做:

HttpClient client = new HttpClient();
    var bytes = await client.GetByteArrayAsync(new Uri("www.microsoft.com"));

这不是:

var folder = Windows.Storage.ApplicationData.Current.LocalFolder;
    var file = await folder.GetFileAsync("text.txt");

第一个返回任务<>,第二个返回IAsyncOperation<>

有什么不同?为什么有两种不同的类型?如何修复第二个样本?

IAsyncOperation是一种城域异步操作.您可以等待IAsyncOperation.

但是,您不能将IAsyncOperation与Task.WhenAll或Task.WhenAny一起使用.要使用IAsyncOperation实例与这些方法,您应该调用StartAsTask扩展方法,因此:

var folder = Windows.Storage.ApplicationData.Current.LocalFolder;
var fileTask = folder.GetFileAsync("text.txt").StartAsTask();
原文链接:https://www.f2er.com/windows/370659.html

猜你在找的Windows相关文章