IRandomAccessStreamReference到StorageFile Windows 10

时间:2015-07-11 20:43:18

标签: c# windows-10

我能够通过 Windows 8.1 中的简单转换将IRandomAccessStreamReference转换为StorageFile。

在Windows 10中会抛出

  

无法转换类型' Windows.Storage.Streams.RandomAccessStreamReference'的对象键入' Windows.Storage.StorageFile'

关于如何解决这个问题的任何建议?

2 个答案:

答案 0 :(得分:3)

StorageFile实现IRandomAccessStreamReference;它不一定能够安全地从后者转换到前者而不检查你的实例实现它并处理它没有的情况。

可能的情况是你使用的方法被声明为返回IRandomAccessStreamReference但在Windows 8上给出了某些输入时巧合地返回了StorageFile,尽管这不是API合同的一部分。

如果你真的需要它成为一个文件,你不能把它写到临时文件中吗?

答案 1 :(得分:3)

假设您仍然需要一个Pool对象,您可以使用StorageFile方法将返回的流包装到一个临时文件中(避免将其全部写入,然后再将其全部读回)。