Alb*_*Gao 1 microsoft-metro windows-8 windows-runtime
我想要的是:
从AppData获取一个xml来使用
我的代码
StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;
StorageFile sampleFile = localFolder.GetFileAsync("abc.xml");
Run Code Online (Sandbox Code Playgroud)
我得到的
错误:无法将类型'Windows.Foundation.IAsyncOperation'隐式转换为'Windows.Storage.StorageFile'
我检查什么
当此方法成功完成时,它将返回表示该文件的StorageFile.
我有
Windows 8 Release Preview 64bit;
适用于Windows 8的Visual Studio Express 2012 RC;
C#
我根据MSDN文档编写代码,为什么会发生此错误以及如何解决?
拉里给了你正确的解决方案.让我试着解释发生了什么.
如果查看GetFileAsync的MSDN文档,您将看到它返回IAsyncOperation.您的代码假定它返回SampleFile.GetFileAsync不提供文件,它提供了一个对象,一旦完成回溯,它将提供一个文件.
Cwait中的Await提供了一个函数,一旦完成条件满足,该对象(或代表该对象)将调用该函数.然后该函数将值返回给您.JavaScript(.then或.done)中的承诺提供了类似的功能,但您必须自己提供该功能.
这样做的原因是应用程序可以响应.文件访问速度很慢.如果访问内存花了1秒钟,那么文件访问大约需要15分钟. 异步编程允许在程序等待时发生其他事情.
| 归档时间: |
|
| 查看次数: |
3246 次 |
| 最近记录: |