9

我最近安装了 Windows 8 Dev preview,虽然我遇到了很多问题。查看新的 C# API,我可以说缺少一些功能。例如,我找不到读取文件的等待时间 - 经典StreamReader不再接受文件名字符串,而是Stream.

我错过了什么?我已经把对象浏览器翻过来了,实际上没有找到任何东西。

更新:这显然是可移植类库和传统编译之间的区别:http: //msdn.microsoft.com/en-us/library/system.io.streamreader.aspx。因此,我们还可以使用非便携式 Windows 8 API 吗?

4

4 回答 4

5

WinRT 可能不支持这一点。它应该在完整的 .NET 4.5 中。

于 2011-09-19T15:40:28.953 回答
5

开发人员预览版仅包括用于开发 Windows Metro 应用程序的库,而不是完整的框架。这(可悲)也排除了 System.Data 和其他一些众所周知的命名空间。

于 2011-09-19T15:42:25.823 回答
3

要从 Metro 应用程序读取/写入文件,请使用新的 Window.Storage API。由于 Metro 应用程序的安全性和异步特性,我不相信 Metro 应用程序中会提供经典文件读/写。

于 2011-09-19T18:42:55.060 回答
2

除了您使用 Metro 模板会取消 WinRT(请参阅其他答案)这一事实之外,您还可以简单地打开一个流:

using(FileStream fs = new FileStream(filename))
using (StreamReader reader = new StreamReader(fs))
{
    string text = reader.ReadToEnd();
}
于 2011-09-19T16:14:46.957 回答