IRandomAccessStreamReference to StorageFile Windows 10
IRandomAccessStreamReference to StorageFile Windows 10
我能够通过在 Windows 8.1.
中的简单转换将 IRandomAccessStreamReference 转换为 StorageFile
在 Windows 10 它抛出
Unable to cast object of type 'Windows.Storage.Streams.RandomAccessStreamReference' to type 'Windows.Storage.StorageFile'
关于我如何解决这个问题有什么建议吗?
StorageFile 实现 IRandomAccessStreamReference;如果不检查您的实例实现它并处理它没有实现的情况,就不一定可以安全地从后者转换为前者。
可能是您使用了声明为 return IRandomAccessStreamReference 的方法,但巧合的是 returned StorageFile 给出了 Windows 8 上的某些输入,尽管这不是部分API 合同。
如果你真的需要它是一个文件,你不能把它写成一个临时文件吗?
假设您仍然需要一个 StorageFile
对象,您可以使用 CreateStreamedFileAsync
方法将返回的流包装到一个临时文件中(避免一次全部写出然后再次读回).
我能够通过在 Windows 8.1.
中的简单转换将 IRandomAccessStreamReference 转换为 StorageFile在 Windows 10 它抛出
Unable to cast object of type 'Windows.Storage.Streams.RandomAccessStreamReference' to type 'Windows.Storage.StorageFile'
关于我如何解决这个问题有什么建议吗?
StorageFile 实现 IRandomAccessStreamReference;如果不检查您的实例实现它并处理它没有实现的情况,就不一定可以安全地从后者转换为前者。
可能是您使用了声明为 return IRandomAccessStreamReference 的方法,但巧合的是 returned StorageFile 给出了 Windows 8 上的某些输入,尽管这不是部分API 合同。
如果你真的需要它是一个文件,你不能把它写成一个临时文件吗?
假设您仍然需要一个 StorageFile
对象,您可以使用 CreateStreamedFileAsync
方法将返回的流包装到一个临时文件中(避免一次全部写出然后再次读回).